Nginx怎么从Cookie里解析UserId放到Access Log里
非常郁闷,访问首页的请求,可以从cookie里把uid分析出来,但是其他的请求全不行。
直接打印Cookie出来,首页和其他请求,没有区别
我的Nginx配置文件
set $uid "-"; if ( $http_cookie ~* "uid=(\S+)(;.*|$)"){ set $uid $1; } log_format s_access '[$time_local] $remote_addr - "$request" - ' '$status - $body_bytes_sent - "$http_referer" - ' '"$http_user_agent" - $request_time - "$uid" "$http_cookie"';
两个Access Log,上边一个是访问 /list cookie 在最后一个""内,前一个""是空的,看样子是if进来了,但是uid是空的;下笔那一个是访问 / cookie 和前一个一样,在""内,前一个""有值,识别出来了。
非常郁闷!
[04/Dec/2012:21:44:43 +0800] 145.122.142.124 - "GET /list HTTP/1.1" - 200 - 18573 - "-" - "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.60 Safari/537.11" - 0.079 - "" "__c_uactiveat=1350108823468; __c_review=46; __c_last=1351061042906; __c_visitor=1350104003730701; uid=103; __utma=224849432.425128387.1339588739.1354606821.1354625898.809; __utmb=224849432.12.10.1354625898; __utmc=224849432; __utmz=224849432.1354108162.783.24.utmcsr=e.weibo.com|utmccn=(referral)|utmcmd=referral|utmcct=/2036070420/z7ixpvGv4; sess=50b8f.796" [04/Dec/2012:21:45:18 +0800] 145.122.142.124 - "GET / HTTP/1.1" - 200 - 13449 - "-" - "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.60 Safari/537.11" - 0.248 - "1030000000091320" "__c_uactiveat=1350108823468; __c_review=46; __c_last=1351061042906; __c_visitor=1350104003730701; uid=103; __utma=224849432.425128387.1339588739.1354606821.1354625898.809; __utmb=224849432.13.10.1354625898; __utmc=224849432; __utmz=224849432.1354108162.783.24.utmcsr=e.weibo.com|utmccn=(referral)|utmcmd=referral|utmcct=/2036070420/z7ixpvGv4; sess=50b8f.796"
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
$cookie_xxx xxx就是cookie的key
cookie是需要访问一次,然后再返回给客户端的。
第一次访问客户端没有cookie