如何使用带有点cookie的nginx变量$ cookie,如“foo.bar”

时间:2014-07-30 08:39:48

标签: variables cookies nginx

如何将Nginx变量 $ cookie _ 与点(点)Cookie一起使用,例如" foo.bar" 如果我在访问日志文件中写" $ cookie_foo.bar" ,我有" - .bar"

2 个答案:

答案 0 :(得分:0)

我想我只是尝试使用app.current.user.id形式的cookie同时使用nginx 1.6.2和1.7.9这个问题。我filed a bug in nginx

答案 1 :(得分:0)

对@aorth的错误的解决方法,WONTFIX的评论无济于事,我仍然为Nginx拒绝在Cookie名称中容纳perfectly legal characters而感到惊讶。它们可以仅将Cookie名称中的“魔术” nginx字符替换为下划线,或者使您转义“魔术”字符,或者人们已经解决了类似问题的许多其他方式。

这不是火箭手术,Nginx。

无论如何,这就是我最终为我的开发人员在关键应用程序中放置的名为foo.lang的cookie提取值的方法:

map $http_cookie $foo_lang_cookie {
    default "";
    "~foo\.lang=(?<foo_lang>[^;]+)" $foo_lang;
}

希望我数小时无能为力的谷歌搜索和在墙上撞头能使其他迷路者受益。