欢迎来到黑猫商城
帮助中心

黑猫商城

热门搜索: 商城源码    直播源码    4数域名    抖音号   

Nginx设置日志打印post请求参数的方法

  • 时间:2020-11-14 00:08 编辑:开发 来源: 阅读:134
  • 扫一扫,手机访问
摘要:我们项目的短信功能是接第三方,原来对接第三方给我们回执确认请求是get请求我们在排查问题的时候可以通过nginx的日志拿到对方给我们请求的参数;最近我们换了另外一家第三方,新的第三方给我们的确认请求是post,遇到问题排查,发现nginx没有打印具体参数,于是查阅一些资料和运维一起做了实验和线上调整,调整后我们可以拿到请求参数,更方便我们排查问题;【Nginx设置打印post请求参数】一、Nginx配置文件(nginx.conf)设置打

我们项目的短信功能是接第三方,原来对接第三方给我们回执确认请求是get请求我们在排查问题的时候可以通过nginx的日志拿到对方给我们请求的参数;最近我们换了另外一家第三方,新的第三方给我们的确认请求是post,遇到问题排查,发现nginx没有打印具体参数,于是查阅一些资料和运维一起做了实验和线上调整,调整后我们可以拿到请求参数,更方便我们排查问题;


【Nginx设置打印post请求参数】

一、Nginx配置文件(nginx.conf)设置打印post请求参数:在http模块的log_format中增加 "dm":$request_body 防止中文乱码,增加  escape=json

1
2
3
4
5
6
7
8
9
10
11
12
13
log_format main escape=json '{ "@timestamp": "$time_iso8601", '
            '"remote_addr": "$remote_addr",'
            '"costime": "$request_time",'
            '"realtime": "$upstream_response_time",'
            '"status": $status,'
            '"x_forwarded": "$http_x_forwarded_for",'
            '"referer": "$http_referer",'
            '"request": "$request",'
            '"upstr_addr": "$upstream_addr",'
            '"bytes":$body_bytes_sent,'
            '"dm":$request_body,'
            '"agent": "$http_user_agent" }';
   access_log /var/log/nginx/access.log main;

 二、设置前后的效果对比

1、发送请求的json格式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
{
  "results":[
    {
   "price":{
        "pricePerMessage":0.01,
        "currency":"aaa"
      },
      "messageId":"ff4804ef-6ab6-4abd-984d-ab3b1387e852",
      "to":"385981178",
      "sentAt":"2015-02-12T09:58:20.323+0100",
      "doneAt":"2015-02-12T09:58:20.337+0100",
      "smsCount":1,
      "status":{
        "id":5,
        "groupId":3,
        "groupName":"DELIVERED",
        "name":"DELIVERED_TO_HANDSET",
        "description":"Message delivered to handset"
      },
      "error":{
        "groupId":0,
        "groupName":"OK",
        "id":0,
        "name":"NO_ERROR",
        "description":"No Error",
        "permanent":false
      }
    }
  ]
}

2、设置前post请求,nginx打印的结果,很显然没有将参数打印出来

3、设置后post请求,nginx打印参数,发现参数虽然打印出来但是有乱码情况

4、解决乱码

(1)需要在log_format main后加 escape=json

(2)nginx的版本需要是1.15.1及以上

(3)满足以上最终打印出的结果

三、看nginx日志必要性

1、更加全面:它可以记录访问者的ip浏览器以及请求参数等信息比java的请求日志更加全面;

2、请求大时,java程序处理不过来,这时java日志没有多余访问请求,而nginx中有,有利于排查问题,优化系统性能。


【总结】


1、通过日志可以快速定位问题;

2、排查问题时考虑要全面,从多过维度去思考。


到此这篇关于Nginx设置日志打印post请求参数的方法的文章就介绍到这了


(责任编辑:GM源码之家)

转载请注明来源:https://www.gmyuanma.com/jsjc/4337.html


  • 全部评论(0)
最新发布的资讯信息
【网站运营|】草根站长创业需要注意哪些情况?(2020-11-22 01:57)
【技术教程|】网站优化如何通过长尾关键词优化来引流(2020-11-20 23:59)
【网站运营|】如何掌握百度搜索引擎优化排名的原则(2020-11-17 00:23)
【技术教程|】浅谈新手做网站如何选择适合自己的主机空间(2020-11-16 00:27)
【技术教程|】把网站关键词优化到首页后,千万不要停止优化操作(2020-11-15 00:36)
【技术教程|】Nginx设置日志打印post请求参数的方法(2020-11-14 00:08)
【技术教程|】从SEO角度如何选择好网站域名呢?(2020-11-13 00:22)
【网站运营|】搜索引擎优化的技巧分享(2020-11-12 00:42)
【网站运营|】网络运营之自媒体变现方式:8种方式告诉你怎么运营微信公众号赚钱(2020-11-11 13:50)
【网站运营|】从SEO角度如何选择好网站域名呢?(2020-11-10 03:24)

联系我们
时间:09:00 - 23:00 客服:Q262638311 电话:13541805677 邮箱:262638311@qq.com
联系客服
购买源码 源码咨询 网站客服 联系客服
13541805677
手机版

扫一扫进手机版
返回顶部
1***5 购买了 一站网源码集市 网站寄售 任务大厅在线接单下单 在线域名... 金额:¥100 [已发货]
1***5 购买了 一站网源码集市 网站寄售 任务大厅在线接单下单 在线域名... 金额:¥100 [退款成功]
号*** 购买了 安全联盟认证/创宇信用认证/品牌宝认证/腾讯云认证/安全... 金额:¥100 [退款成功]
号*** 购买了 火端搜索源码V2.1,超强seo,排名快... 金额:¥5 [退款成功]