簡體   English   中英

Cookie未在Nginx中隨請求發送

[英]Cookies are not sent with request in nginx

Cookie,nginx和后端服務器出現問題。

我想要實現的是這樣的:

NGINX AT PORT 70
location / {
If session cookie is not set
return 301 localhost/login.html
else
proxy_pass http://somewhere 
}
location /login.html{
 proxy_pass http://localhost:8080 <- backend server with logging at localhost:8080/login.html
}
location /redirection/ {
return 301 localhost:70
}

因此它應該轉到login.html並將該通行證代理到日志記錄服務器,以便我可以獲取localhost:8080 / login.html並可以登錄。然后它處理憑據並以表單操作重定向到/ redirection /(在JavaScript-實際上僅用於設置cookie)。 重定向后,服務器應該向自身發送請求,但是現在它具有會話cookie,因此它將轉到http:// somewhere

但是我的問題是應該在login.html中設置cookie,但是沒有設置。 如果我要單獨訪問localhost:8080 / login.html並嘗試-那么cookie可以正常工作。 但是以某種方式丟失了proxy_pass cookie。

PS:如果我使用兩個服務器塊,並且/login.html和/ redirection在第二台服務器上運行良好,但是我的配置中不能有兩個服務器塊-我需要將所有內容都放在一個端口上。

好吧...我確實解決了這個問題。就像我說的是設置我的cookie的js腳本。 但是似乎js腳本沒有加載,因為它直接進入“ /”位置。 我所做的是:

location /js/ {
proxy_pass http://localhost:8080;
}

這樣,一切正常。

所以請記住..如果您在后端服務器上的html文件包含任何css / js文件,則需要考慮到這一點。

暫無
暫無

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

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