時間:2023-03-09來源:系統城裝機大師作者:佚名
昨晚在部署一個前人留下的dotnet core后臺服務,在服務器上小心翼翼的修改前端代碼,把ajax請求地址換成了localhost,登錄、請求數據正常。但是把localhost換成ip地址,發現登錄正常,cookie也返回了,但驗證登錄狀態(向后臺發送請求,驗證攜帶的cookie)時報錯了,一直401
這個程序的前端、后端都不是我寫的,問了前端開發:
這說的沒錯,cookie確實返回來了,但再次請求時請求頭沒有攜帶cookie。奇了怪,然后就發現了:
根據提示,瀏覽器是想保存cookie的,但Set-Cookie里面設置了Secure,就被阻止了。
那我就把Secure去掉!
同時samesite=none也要修改,因為samesite=none必須要和secure連用,可以把值改成strict
Strict最為嚴格,完全禁止第三方 Cookie,跨站點時,任何情況下都不會發送 Cookie。換言之,只有當前網頁的 URL 與請求目標一致,才會帶上 Cookie。
nginx里面設置:
1 | proxy_cookie_flags ~ nosecure samesite=strict; |
再說點
cookie屬性secure是只能在https下訪問,我這里是從https環境遷移至http環境(這種逆向不安全的方式還是不要學)。
關于nginx這部分的設置可以參考 nginx官方文檔:proxy_cookie_flags
我設置的nginx如下,但具體情況還要考慮實際用途:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
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; } |
到此這篇關于nginx配置客戶端保存cookie的實現的文章就介紹到這了
2023-03-09
nginx https 443端口配置的方法2023-03-09
windows server2012上配置IIS全過程(附詳細步驟)2023-03-09
Windows下使用 Nginx 搭建 HTTP文件服務器 實現文件下載功能安裝前配置 安裝postgresql 數據庫安裝配置 修改postgres密碼 設置zabbix賬戶及數據庫 安裝zabbix 安裝zabbix及前端 zabbix數據庫初始化 配置zabbix server 前端php配置 啟動zabbix服務器 前端設置 添加被監控機 被...
2023-03-09
Tomcat報404問題解決 正確的情況 解決方法 1.Tomcat未配置環境變量 2.IIs訪問權限問題 3.端口占用問題 4.文件缺少問題...
2023-03-09