Nginx怎么记录POST数据?

已邀请:

zkbhj - 凯冰科技站长

赞同来自:

nginx的日志通过调整log_format格式可以记录所有请求信息。
 
log_format指令是用来控制nginx如何记录http请求。

默认的nginx记录日志格式是注释掉的,如果要记录额外的信息,需要自定义log_format格式。log_format的参数都是nginx内嵌变量,具体含义详见nginx内置变量。

默认日志格式
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
记录post请求参数的日志格式
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'"$http_referer" $status $body_bytes_sent $request_body '
'"$http_user_agent" "$http_x_forwarded_for"';
其实就是增加$request_body字段到log_format里。
如果为了调试程序可以打开开该字段,不然不推荐记录,以免泄露信息给恶意攻击者。

要回复问题请先登录注册