(简化示例)
log_format foo '$remote_addr "$request" $cookie_bar'; access_log /var/log/Nginx/access.log foo;
这对于已经有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';
不幸的是,它只输出第一个Set-Cookie命令,因此我需要确保我的应用服务器始终首先设置条形码cookie.如果没有设置$cookie_bar,我可以确保获取$sent_http_set_cookie中设置的cookie.