eto*_*leb 5 nginx log-files cookies
我想在 nginx 访问日志中包含 cookie 数据,如下所示:
(简化示例)
log_format foo '$remote_addr "$request" $cookie_bar';
access_log /var/log/nginx/access.log foo;
Run Code Online (Sandbox Code Playgroud)
这对于已经有 cookie“bar”的请求非常有效,但是对于我的服务器的第一个请求,nginx 会将“-”报告为“bar”的值。
我的问题似乎是 nginx 正在查看请求标头中的 cookie 值。有没有办法检查响应中的 Set-Cookie 并将其用作后备?
我找到了一个解决我的问题的办法,但它通常不能解决问题。
nginx 允许您将响应标头元素传递到日志文件中,例如 Set-Cookie:
log_format foo '$remote_addr "$request" '
'$cookie_bar set_cookie=$sent_http_set_cookie';
Run Code Online (Sandbox Code Playgroud)
不幸的是,它只输出第一个 Set-Cookie 命令,因此我需要确保我的应用程序服务器始终首先设置 bar cookie。通过一些正则表达式,我可以确保在未设置的$sent_http_set_cookie情况下获取设置的 cookie。$cookie_bar
| 归档时间: |
|
| 查看次数: |
16785 次 |
| 最近记录: |