1、業務場景:
雲服務上有一個springboot的web工程,有一個nginx,nginx代理了兩個二級域名a和b,這兩個二級域名都指向這個springboot的web工程。用a登錄了系統,這時把瀏覽器地址改成b,需要重新登錄。
2、爲什麼?
session是通過sessionid來辨識的,而sessionid是存儲在cookie裏面的,cookie的傳遞是和域名關聯的,域名變了,cookie無法被髮送到新域名地址,導致服務端無法獲取sessionid,也就無法獲取session了。
瀏覽器是按不同的域名保存信息:
3、引申:
其實這屬於瀏覽器的同源策略
當然你可以禁用瀏覽器同源策略的方法。https://blog.csdn.net/cgs1999/article/details/90751757
參考文獻;
https://www.oschina.net/question/3215956_2309339
https://baike.baidu.com/item/%E5%90%8C%E6%BA%90%E7%AD%96%E7%95%A5/3927875?fr=aladdin