公司已有的系統已經正常運作了很久,但是最近突然打不開,經過排查不是代碼的問題,是操作人員更新了Google版本,Google 80以下版本中可以正常使用系統,但是更新之後卻無法使用,是以判斷問題原因是更新了Google浏覽器版本所導緻的,Google浏覽器在80以上版本中不支援不安全的cookie跨域傳輸了。經過一番百度後,找到以下解決方案:友善快捷又不用修改代碼。隻需要禁用一下Google浏覽器的兩個功能即可。操作如下:
在google浏覽器位址欄分别輸入如下位址:

修改了以上之後,重新打開google浏覽器就可以了,這個做法非常簡單也不用修改代碼,但是呢為了安全起見還是建議修改代碼,以适應發展。
除了以上的方法還可以使用以下幾種方式:
(1)不使用谷歌浏覽器或者将谷歌浏覽器降級到 Chrome 79 及以下版本,并關閉自動更新。
(2)将兩個系統部署在同一台伺服器,通過相同IP同源政策傳送cookie。
(3)購買SSL證書,更新HTTP服務,将 API 切換為 HTTPS 協定請求,并且檢查響應頭中的 Set-Cookie 中是否包含了 SameSite=None 和 Secure字樣。
更多資訊:
Cookie 的 SameSite 屬性 參見:
(1) http://www.ruanyifeng.com/blog/2019/09/cookie-samesite.html
(2)https://blog.lyz810.com/article/2017/05/samesite-cookies-explained/
Google 80版本釋出更新的内容參見:
(1) https://blog.lyz810.com/article/2020/01/chrome-80-release-note/
參考資料:
(1)https://help.aliyun.com/document_detail/151711.html