我需要记录 POST 数据。我已经添加到我的配置中
location / {
echo_read_request_body;
access_log /var/log/nginx/domains/site.post.log postdata;
}
Run Code Online (Sandbox Code Playgroud)
并将其添加到http
部分
log_format postdata '$time_local $request_body';
Run Code Online (Sandbox Code Playgroud)
但在我的日志中我只能看到当地时间和破折号:
23/Jul/2016:16:07:49 +0000 -
Run Code Online (Sandbox Code Playgroud)
有什么问题?
location = / {
log_format postdata $request_body;
access_log /var/log/nginx/domains/site.post.log postdata;
fastcgi_pass php_cgi;
}
Run Code Online (Sandbox Code Playgroud)
nginx 除非必须,否则不会接触客户端请求正文,因此它不满足 $request_body 变量,有一些例外 1) 如果它将请求发送到代理 2) 或 fastcgi 服务器。所以在上面这个例子中,技巧是让 nginx 相信你会调用一个 cgi 脚本。
归档时间: |
|
查看次数: |
17852 次 |
最近记录: |