javascript - NGINX 反向代理的 Cookie 路径

标签 javascript node.js authentication nginx cookies

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

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

我现在的问题是,根据用于登录的 GUI,cookie 的路径设置有所不同。

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

有没有办法将 cookie 的路径设置为/,无论使用哪种 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 ~*^/.* /;

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

最佳答案

指令 proxy_cookie_path 肯定是所描述问题的解决方案。

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

郑重声明:

proxy_cookie_path ~*^/.* /;

如果 cookie 是从服务器端设置的,应该可以解决问题。 有关该指令的更多信息,请参阅here .

关于javascript - NGINX 反向代理的 Cookie 路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55163316/

相关文章:

javascript - 从老式的 post-after 重定向到现代的 ajax 表单处理

JavaScript 从 10 开始递减,然后在 0 时执行某些操作

javascript - 在 sails js 中处理事件

javascript - React Native AsyncStorage 调用无效,不进入回调或 .then

javascript - 如何创建 node-express-postgresql 登录页面?

javascript - MySQL,根据MIN时间戳选择索引

javascript - 如何在 MySQL 中插入多条记录/行

java - Android 登录 Activity 后重定向

iphone - 如何显示登录和关闭设置 - Storyboard

c# - 无法通过基本 C# 应用程序的 Azure 身份验证