[英]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.