Javascript 使用NGINX反向代理的Cookie路径

Javascript 使用NGINX反向代理的Cookie路径,javascript,node.js,authentication,nginx,cookies,Javascript,Node.js,Authentication,Nginx,Cookies,我有三个不同的应用程序运行在NGINX反向代理之后 它们都有一个使用相同身份验证API的登录GUI。身份验证基于cookies 我现在的问题是,cookies的路径设置不同,这取决于用于登录的GUI 身份验证API实际上将cookie路径设置为/,但我假设它是NGINX代理,它会根据位置覆盖该路径 有没有办法将cookies的路径设置为/,而不管使用哪个GUI 这就是我的NGINX配置的样子: http { server { listen 80;

我有三个不同的应用程序运行在NGINX反向代理之后

它们都有一个使用相同身份验证API的登录GUI。身份验证基于cookies

我现在的问题是,cookies的路径设置不同,这取决于用于登录的GUI

身份验证API实际上将cookie路径设置为/,但我假设它是NGINX代理,它会根据位置覆盖该路径

有没有办法将cookies的路径设置为/,而不管使用哪个GUI

这就是我的NGINX配置的样子:

http {
    server {
        listen       80;
        server_name  localhost;

        location = / {
            rewrite / /admin;
        }

        location /admin/ {
            proxy_pass  http://localhost:9001/;
        }

        location /app/ {
            proxy_pass http://localhost:3100/;
        }

        location / {
            proxy_pass  http://localhost:3000/;
        }
    }
}
编辑1: 我试图补充一点

proxy_cookie_path ~*^/.* /;

如前所述,但没有帮助。cookie的路径仍然是/admin或/app

指令proxy\u cookie\u路径确保了所述问题的解决方案

(我刚刚发现我的cookie不是从服务器端API设置的,而是在客户端设置的。所以问题不在于NGINX配置。)

因此,作为记录:

proxy_cookie_path ~*^/.* /;
如果cookie是从服务器端设置的,则应该执行此操作。 有关该指令的更多信息,请参阅