因為某種原因,瀏覽器以HTTPS請求了不支持HTTPS的一個站點,然后刪掉地址欄中的S,訪問HTTP站點,嘗試登錄,表現的結果為登錄完又回到登錄頁。
代碼調試了半天都沒發現什么異常,最后追蹤發現登陸完跳回來session都丟了,然后再檢查,發現登錄接口返回的Set-Cookie指令,在瀏覽器上沒有寫入成功。提示錯誤:
This Set-Cookie was blocked because it was not sent over a secure-connection and would have overwritten a cookie with Secure attribute
最后查明原因,當HTTPS下有了一個Cookie后,再想在同域名的HTTP站點下寫入Cookie就會失敗,解決辦法就是刪除HTTPS站點下的Cookie。