求各位大大解答,如果让NGINX记录详细的POST记录

lcmkc 2018-4-4 918

因为特殊需求,服务器这边需要让NGINX的请求日志记录下每一次POST的请求内容,求解答~~
最新回复 (5)
  • 虚竹 2018-4-4
    引用 2
    用 tcpdump 命令

    先安装:
    yum install -y tcpdump

    抓包命令:
    tcpdump -i eth0 -A -nnn -vvv "port 80"

    eth0换成你的网卡名称(ifconfig命令可查),port 80表示抓80端口的包。

    注意:如果网站是 https 协议,抓出来的是加密串,这个方法行不通。
  • lcmkc 2018-4-4
    引用 3
    Quote虚竹 发表于 2018-4-4 10:43
    用 tcpdump 命令

    先安装:


    还真的刚好是https的。。不过这个是抓包的吧?可以让access_log记录下POST吗。。
  • 虚竹 2018-4-4
    引用 4
    https 比较麻烦,只能用 nginx 日志来记录。

    一、打开 /etc/nginx/nginx.conf,在 http {} 段中加入:
    log_format postdata $request_body;

    二、进入网站设置 - 源文,点击自定义,在 server {} 段中加入:
    access_log  /var/log/nginx/postdata.log  postdata;

    /var/log/nginx/postdata.log 就是 POST 日志保存路径。

    三、重载 nginx 服务
  • lcmkc 2018-4-4
    引用 5
    本帖最后由 lcmkc 于 2018-4-4 12:57 编辑

    Quote虚竹 发表于 2018-4-4 10:54
    https 比较麻烦,只能用 nginx 日志来记录。

    一、打开 /etc/nginx/nginx.conf,在 http {} 段中加入:

    谢谢。。nginx是否只支持request body?response body支持吗??和银行的接口对接需要对每个请求和响应都需要记录呢。。
  • 虚竹 2018-4-4
    引用 6
    Quotelcmkc 发表于 2018-4-4 12:55
    谢谢。。nginx是否只支持request body?response body支持吗??和银行的接口对接需要对每个请求和响应都 ...


    建议你找开发人员开发,使用程序记录,而不是借助 nginx。
返回
发新帖