[日常] nginx记录post数据

1.使用log_format指令来更改日志格式,该指令只能放在http{}段

log_format  日志名  '日志内容';

server {
access_log /var/log/nginx/default.access.log 日志名;
}

2.$request_body是nginx的内置变量,可以记录post的数据

3.测试

log_format my_test_log escape=json '$request_filename $http_x_forwarded_for $fastcgi_script_name $document_root $request_body';
server {
        access_log  /var/log/nginx/default.access.log  my_test_log;
}

4.其他nginx内置变量

$time_local 格式化的时间
$request 请求地址
$status 响应码
$body_bytes_sent 传送页面的字节数
$http_referer 来源地址
$http_user_agent 客户端UA
$document_root 当前文件的目录绝对地址,比如:/var/www/html
$fastcgi_script_name 当前url的绝对地址,比如:/info.php
$request_filename 当前请求文件的绝对物理地址,基于root和alias指令,比如:/var/www/html/info.php
$http_cookie cookie信息,这个也很重要,如果在cookie中带上了用户的标识,比较方便调试

原文地址:https://www.cnblogs.com/taoshihan/p/10251411.html