我使用nginx作为服务器网站的反向代理,每个请求都将由nginx传输到后门应用程序,一旦生成响应,它将由nginx回复给客户端。我想要做的是在nginx从后门应用程序获取响应时添加自定义cookie。
假设我的域名是xxx.com,从用户的角度来看,当我访问我网站的任何页面时,我想要的是什么,他的浏览器将获得一个cookie用户名,如下所示:
我的nginx conf是:
location / {
add_header Set-Cookie "username=$http_id; Domain=.xxx.com; Path=/" always;
}
当访问我网站的每个页面时,nginx会添加用户名并结合新路径(路径不是/,在nginx中是$ uri变量),然后在我的网站下有很多重复的cookie用户名(他们是只有不同的路径)。看起来像:
我将conf更改为:
location = / {
add_header Set-Cookie "username=$http_id; Domain=.xxx.com; Path=/" always;
}
这一次,没有重复的Cookie项目,但必须访问xxx.com/。如果只访问某些页面但不访问/,则不会设置cookie。
当用户访问我网站的任何页面时,什么conf可以让nginx只写一次cookie?