要将请求的body记录到NGINX日志中,您需要使用$request_body变量。以下是一个示例配置,演示如何记录请求的body到日志:
http {
log_format custom '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" "$request_body"';
access_log /var/log/nginx/access.log custom;
# 其他配置...
}
我们在自定义的日志格式中添加了"$request_body"字段,这将使得请求的body被记录到日志中。
然后,我们将access_log指令的日志文件路径设置为/var/log/nginx/access.log,并使用之前定义的custom日志格式。
现在,每当有请求到达NGINX时,请求的body内容将按照自定义的日志格式记录到指定的日志文件中。请注意,如果请求的body很大,可能会占用大量的磁盘空间。如果担心磁盘空间问题,您可以通过设置client_max_body_size指令来限制请求的body大小。