簡體   English   中英

NGINX反向代理的Cookie路徑

[英]Cookie path with NGINX reverse proxy

我在NGINX反向代理后面運行着三個不同的應用程序。

它們都有一個登錄GUI,該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 ~*^/.* /;

作為描述在這里 ,但它並沒有幫助。 cookie的路徑仍然是/ admin或/ app

指令proxy_cookie_path肯定是所描述問題的解決方案。

(我剛剛發現我的cookie不是從服務器端API設置的,而是在客戶端設置的。所以問題不在於NGINX配置。)

所以記錄:

proxy_cookie_path ~*^/.* /;

如果從服務器端設置cookie,應該這樣做。 有關該指令的更多信息,請參見此處

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM