nginx配置客戶端保存cookie的實(shí)現(xiàn)
問(wèn)題
昨晚在部署一個(gè)前人留下的dotnet core后臺(tái)服務(wù),在服務(wù)器上小心翼翼的修改前端代碼,把a(bǔ)jax請(qǐng)求地址換成了localhost,登錄、請(qǐng)求數(shù)據(jù)正常。但是把localhost換成ip地址,發(fā)現(xiàn)登錄正常,cookie也返回了,但驗(yàn)證登錄狀態(tài)(向后臺(tái)發(fā)送請(qǐng)求,驗(yàn)證攜帶的cookie)時(shí)報(bào)錯(cuò)了,一直401
這個(gè)程序的前端、后端都不是我寫的,問(wèn)了前端開(kāi)發(fā):

這說(shuō)的沒(méi)錯(cuò),cookie確實(shí)返回來(lái)了,但再次請(qǐng)求時(shí)請(qǐng)求頭沒(méi)有攜帶cookie。奇了怪,然后就發(fā)現(xiàn)了:

根據(jù)提示,瀏覽器是想保存cookie的,但Set-Cookie里面設(shè)置了Secure,就被阻止了。

解決
那我就把Secure去掉!
同時(shí)samesite=none也要修改,因?yàn)閟amesite=none必須要和secure連用,可以把值改成strict
Strict最為嚴(yán)格,完全禁止第三方 Cookie,跨站點(diǎn)時(shí),任何情況下都不會(huì)發(fā)送 Cookie。換言之,只有當(dāng)前網(wǎng)頁(yè)的 URL 與請(qǐng)求目標(biāo)一致,才會(huì)帶上 Cookie。
nginx里面設(shè)置:
proxy_cookie_flags ~ nosecure samesite=strict;
再說(shuō)點(diǎn)
cookie屬性secure是只能在https下訪問(wèn),我這里是從https環(huán)境遷移至http環(huán)境(這種逆向不安全的方式還是不要學(xué))。
關(guān)于nginx這部分的設(shè)置可以參考 nginx官方文檔:proxy_cookie_flags
我設(shè)置的nginx如下,但具體情況還要考慮實(shí)際用途:
location /rf/ {
proxy_pass http://localhost:5001/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Real-PORT $remote_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_cookie_path / /;
proxy_set_header Cookie $http_cookie;
proxy_cookie_flags ~ nosecure samesite=strict;
}
到此這篇關(guān)于nginx配置客戶端保存cookie的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)nginx客戶端保存cookie內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Ubuntu中Nginx虛擬主機(jī)設(shè)置的項(xiàng)目實(shí)踐
通過(guò)配置虛擬主機(jī),可以在同一臺(tái)服務(wù)器上運(yùn)行多個(gè)獨(dú)立的網(wǎng)站,本文主要介紹了Ubuntu中Nginx虛擬主機(jī)設(shè)置的項(xiàng)目實(shí)踐,具有一定的參考價(jià)值,感興趣的可以了解一下2025-03-03
nginx臨時(shí)搭建rtmp服務(wù)器的方法實(shí)現(xiàn)
nginx是一款優(yōu)秀的反向代理工具,通過(guò)Nginx自帶的rtmp模塊,也可以實(shí)現(xiàn)rtmp服務(wù)器的搭建,本文主要介紹了nginx臨時(shí)搭建rtmp服務(wù)器,具有一定的參考價(jià)值,感興趣的可以了解一下2024-02-02
Nginx隱藏index.php和Pathinfo模式配置例子
這篇文章主要介紹了Nginx隱藏index.php和Pathinfo模式配置例子,需要的朋友可以參考下2014-04-04
filebeat收集多個(gè)域名網(wǎng)站日志并存儲(chǔ)到不同es索引庫(kù)過(guò)程
這篇文章主要為大家介紹了filebeat收集多個(gè)域名網(wǎng)站日志并存儲(chǔ)到不同es索引庫(kù)過(guò)程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08
Nginx出現(xiàn)請(qǐng)求重復(fù)提交的處理方法
在網(wǎng)絡(luò)世界的大舞臺(tái)上,Nginx 就像是一位兢兢業(yè)業(yè)的交通警察,指揮著網(wǎng)絡(luò)請(qǐng)求的有序流動(dòng),然而,有時(shí)候也會(huì)出現(xiàn)一些讓人頭疼的狀況,比如請(qǐng)求的重復(fù)提交,該如何應(yīng)對(duì)呢?本文介紹了Nginx出現(xiàn)請(qǐng)求重復(fù)提交的處理方法,需要的朋友可以參考下2024-07-07
Nginx 實(shí)現(xiàn) TCP/DUP流量按 IP 動(dòng)態(tài)轉(zhuǎn)發(fā)操作方法
為優(yōu)化網(wǎng)絡(luò)性能和提升服務(wù)可用性,通過(guò)Nginx配置stream模塊根據(jù)客戶端IP地址動(dòng)態(tài)轉(zhuǎn)發(fā)TCP請(qǐng)求至不同后端服務(wù)器節(jié)點(diǎn),適用于數(shù)據(jù)庫(kù)代理、TCP服務(wù)負(fù)載均衡及地域或來(lái)源IP分流的流量調(diào)度等場(chǎng)景,本文給大家介紹Nginx 實(shí)現(xiàn) TCP/DUP流量按 IP 動(dòng)態(tài)轉(zhuǎn)發(fā)的操作2024-10-10

