nginx配置客戶端保存cookie的實現(xiàn)
問題
昨晚在部署一個前人留下的dotnet core后臺服務(wù),在服務(wù)器上小心翼翼的修改前端代碼,把ajax請求地址換成了localhost,登錄、請求數(shù)據(jù)正常。但是把localhost換成ip地址,發(fā)現(xiàn)登錄正常,cookie也返回了,但驗證登錄狀態(tài)(向后臺發(fā)送請求,驗證攜帶的cookie)時報錯了,一直401
這個程序的前端、后端都不是我寫的,問了前端開發(fā):
這說的沒錯,cookie確實返回來了,但再次請求時請求頭沒有攜帶cookie。奇了怪,然后就發(fā)現(xiàn)了:
根據(jù)提示,瀏覽器是想保存cookie的,但Set-Cookie里面設(shè)置了Secure,就被阻止了。
解決
那我就把Secure去掉!
同時samesite=none也要修改,因為samesite=none必須要和secure連用,可以把值改成strict
Strict最為嚴格,完全禁止第三方 Cookie,跨站點時,任何情況下都不會發(fā)送 Cookie。換言之,只有當(dāng)前網(wǎng)頁的 URL 與請求目標一致,才會帶上 Cookie。
nginx里面設(shè)置:
proxy_cookie_flags ~ nosecure samesite=strict;
再說點
cookie屬性secure是只能在https下訪問,我這里是從https環(huán)境遷移至http環(huán)境(這種逆向不安全的方式還是不要學(xué))。
關(guān)于nginx這部分的設(shè)置可以參考 nginx官方文檔:proxy_cookie_flags
我設(shè)置的nginx如下,但具體情況還要考慮實際用途:
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的實現(xiàn)的文章就介紹到這了,更多相關(guān)nginx客戶端保存cookie內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
nginx php-fpm環(huán)境中chroot功能的配置使用方法
這篇文章主要介紹了nginx php-fpm環(huán)境中chroot功能的配置使用方法,此方法是比禁用PHP敏感函數(shù)更好的一個安全防護手手段,需要的朋友可以參考下2014-05-05nginx+lua+redis實現(xiàn)降級的示例代碼
隨著用戶訪問量的激增,網(wǎng)站或電商平臺可能會面臨系統(tǒng)超負載的問題,導(dǎo)致注冊、下單、支付等功能出現(xiàn)問題,為保障核心服務(wù)的高可用性,可以采用降級策略,本文就來介紹一下nginx+lua+redis降級,感興趣的可以了解學(xué)習(xí)2024-10-10通過Nginx反向代理實現(xiàn)IP訪問分流的示例代碼
本篇文章主要介紹了通過Nginx反向代理實現(xiàn)IP訪問分流的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-11-11zabbix自定義監(jiān)控nginx狀態(tài)實現(xiàn)過程
這篇文章主要為大家介紹了zabbix如何自定義監(jiān)控nginx狀態(tài)的實現(xiàn)過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步2021-10-10通過nginx實現(xiàn)訪問服務(wù)器指定目錄下圖片資源
這篇文章為大家詳細主要介紹了如何通過nginx實現(xiàn)訪問服務(wù)器指定目錄下圖片資源,文中通過圖文進行了詳細的講解,有需要的小伙伴可以了解下2023-10-10