Bug之同個服務器多個tomcat產生session丟失現象

前因

  • 在同一個服務器上搭建多個tomcat項目,例如A和B。在瀏覽器訪問A項目和B項目時,先登陸A項目在登錄B項目。這時候A項目刷新後會回到登錄頁面,須要從新登錄的現象。在不一樣瀏覽器上實驗結果都同樣。

調查結果

  • 通過網上相關材料調查,是因爲在同一個IP下面多個tomcat的cookie名稱一致,IP一致會被認爲是同一個域,接收了B的set-cookie指令,把對應的cookie內容覆蓋了,其中包括jsessionid,形成A的session丟失。

解決方案

  • 將項目分服務器部署
  • 指定不一樣tomcat的cookie名稱

解決具體步驟

  • tomcat8 配置
【conf/server.xml】
<Context path="" docBase="ROOT" debug="0" reloadable="false" sessionCookiePath="/" sessionCookieName="cookiename"></Context>
  • weblogic配置
【WEB-INF\Weblogic.xml】
   <session-descriptor>       
                <cookie-name>JSESSIONID1</cookie-name>   
    </session-descriptor>
相關文章
相關標籤/搜索