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

 更新时间:2020年11月09日 12:01:51   作者:当年的春天  
这篇文章主要介绍了Nginx设置日志打印post请求参数的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

【前言】

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

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

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

 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格式

{
  "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请求参数的方法的文章就介绍到这了,更多相关Nginx 日志打印post请求参数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 使用Nginx配置浏览器缓存,页面展示更快一步

    使用Nginx配置浏览器缓存,页面展示更快一步

    这篇文章主要介绍了使用Nginx配置浏览器缓存,页面展示更快一步问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • nginx限流及配置管理实战记录

    nginx限流及配置管理实战记录

    流量限制(rate-limiting)是Nginx中一个非常实用,却经常被错误理解和错误配置的功能,下面这篇文章主要给大家介绍了关于nginx限流及配置管理的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2022-04-04
  • Nginx负载均衡健康检查性能提升

    Nginx负载均衡健康检查性能提升

    这篇文章主要为大家介绍了Nginx负载均衡健康检查性能提升,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • nginx搭建文件服务器(保姆级)

    nginx搭建文件服务器(保姆级)

    我们在工作过程中,有许多大的镜像或者安装包等,搭建一个文件服务器,可以高效的储存文件,本文就来介绍一下nginx搭建文件服务器,感兴趣的可以了解一下
    2023-06-06
  • 详解Nginx反向代理实现Kibana登录认证功能

    详解Nginx反向代理实现Kibana登录认证功能

    这篇文章主要介绍了详解Nginx反向代理实现Kibana登录认证功能,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • Nginx 实现 TCP/DUP流量按 IP 动态转发操作方法

    Nginx 实现 TCP/DUP流量按 IP 动态转发操作方法

    为优化网络性能和提升服务可用性,通过Nginx配置stream模块根据客户端IP地址动态转发TCP请求至不同后端服务器节点,适用于数据库代理、TCP服务负载均衡及地域或来源IP分流的流量调度等场景,本文给大家介绍Nginx 实现 TCP/DUP流量按 IP 动态转发的操作
    2024-10-10
  • 在Nginx服务器下配置StartSSL和SSL的教程

    在Nginx服务器下配置StartSSL和SSL的教程

    这篇文章主要介绍了在Nginx服务器下配置StartSSL和SSL的教程,其中申请证书的步骤确实比较麻烦一些,不过出于安全考虑:p需要的朋友可以参考下
    2015-07-07
  • nginx如何开通gzip压缩传输文件

    nginx如何开通gzip压缩传输文件

    Gzip压缩是一种有效提升网站性能的方法,通过减少传输数据量和提高传输速度,Nginx服务器支持Gzip压缩,适合压缩HTML、CSS、JavaScript、JSON和XML等文本文件,配置中需设置gzip_types指定压缩文件类型,gzip_comp_level设置压缩级别
    2024-09-09
  • Nginx部署SSL证书的过程

    Nginx部署SSL证书的过程

    SSL证书是数字证书的一种,类似于驾驶证、护照和营业执照的电子副本,这篇文章主要介绍了Nginx部署SSL证书的相关知识,需要的朋友可以参考下
    2022-10-10
  • Nginx跨域设置Access-Control-Allow-Origin无效的解决办法

    Nginx跨域设置Access-Control-Allow-Origin无效的解决办法

    今天小编就为大家分享一篇关于Nginx跨域设置Access-Control-Allow-Origin无效的解决办法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02

最新评论