Javascript 使用NGINX反向代理的Cookie路径
我有三个不同的应用程序运行在NGINX反向代理之后 它们都有一个使用相同身份验证API的登录GUI。身份验证基于cookies 我现在的问题是,cookies的路径设置不同,这取决于用于登录的GUI 身份验证API实际上将cookie路径设置为/,但我假设它是NGINX代理,它会根据位置覆盖该路径 有没有办法将cookies的路径设置为/,而不管使用哪个GUI 这就是我的NGINX配置的样子: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;
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是从服务器端设置的,则应该执行此操作。
有关该指令的更多信息,请参阅