Nginx如何在路径下只添加一次cookie /

时间:2017-09-29 04:21:26

标签: nginx cookies

我使用nginx作为服务器网站的反向代理,每个请求都将由nginx传输到后门应用程序,一旦生成响应,它将由nginx回复给客户端。我想要做的是在nginx从后门应用程序获取响应时添加自定义cookie。

假设我的域名是xxx.com,从用户的角度来看,当我访问我网站的任何页面时,我想要的是什么,他的浏览器将获得一个cookie用户名,如下所示:

enter image description here

首先尝试

我的nginx conf是:

location / {
    add_header Set-Cookie "username=$http_id; Domain=.xxx.com; Path=/" always;
}

当访问我网站的每个页面时,nginx会添加用户名并结合新路径(路径不是/,在nginx中是$ uri变量),然后在我的网站下有很多重复的cookie用户名(他们是只有不同的路径)。看起来像:

enter image description here

第二次尝试

我将conf更改为:

location = / {
    add_header Set-Cookie "username=$http_id; Domain=.xxx.com; Path=/" always;
}

这一次,没有重复的Cookie项目,但必须访问xxx.com/。如果只访问某些页面但不访问/,则不会设置cookie。

问题

当用户访问我网站的任何页面时,什么conf可以让nginx只写一次cookie?

0 个答案:

没有答案