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

Nginx如何在路径下仅添加一次cookie/,nginx,cookies,Nginx,Cookies,我使用nginx作为反向代理服务器来服务一个网站,每个请求都将由nginx传输到后门应用程序,一旦生成响应,它将由nginx回复给客户端。我想做的是在nginx从后门应用程序获得响应时添加一个定制cookie 假设我的域是xxx.com,从用户的角度来看,当他访问我网站的任何页面时,我想要它,他的浏览器将获得一个cookie用户名,如下所示: 初试 我的nginx配置是: location / { add_header Set-Cookie "username=$http_id; Do

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

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

初试 我的nginx配置是:

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

问题:
什么配置可以让nginx在用户访问我网站的任何页面时只写一次cookie?

发布完整的nginx配置我非常确定其他配置并不重要。好的,我假设您没有在其他任何地方使用
add\u header
,我只在这里使用add_头。然后将其移动到位置外部的
服务器
块。这应该行得通