nginx日志配置显示客户端提交的body和header

发布时间 2023-06-29 11:13:34作者: 帅过三秒

第一种方式是直接添加$request_body方式获取,这种获取到的日志中记录的是十六进制的值不方便查看

第二种方式是log_format json_log escape=json '{"realip":"$remote_addr","@timestamp":"$time_iso8601","host":"$http_host","request":"$request","req_body":"$request_body","status":"$status","size":$body_bytes_sent,"ua":"$http_user_agent","cookie":"$http_cookie","req_time":"$request_time","uri":"$uri","referer":"$http_referer","xff":"$http_x_forwarded_for","ups_status":"$upstream_status","ups_addr":"$upstream_addr","ups_time":"$upstream_response_time","sign":"$http_sign","encodekey":"$http_encodekey"}';

"host":"$http_host",其中“host”是自定义的变量名可以是头部信息中的参数,例如header中有sign这个参数,那我们把这个header中的这个值添加到日志中就可以:"sign":"$http_sign"