如何解決同IP不同端口Session沖突問(wèn)題

這篇文章主要介紹“如何解決同IP不同端口Session沖突問(wèn)題”,在日常操作中,相信很多人在如何解決同IP不同端口Session沖突問(wèn)題問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”如何解決同IP不同端口Session沖突問(wèn)題”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都做網(wǎng)站、成都網(wǎng)站建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的林州網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

 一個(gè)服務(wù)器上搭建了多個(gè)tomcat或者weblogic,端口不一樣,同時(shí)啟動(dòng)訪問(wèn)時(shí)session丟失。如:A,B兩個(gè)服務(wù),在瀏覽器中登錄訪問(wèn)A后,當(dāng)前打開(kāi)的瀏覽器上在開(kāi)一個(gè)選項(xiàng)卡訪問(wèn)B服務(wù)后,回過(guò)來(lái)點(diǎn)擊訪問(wèn)A時(shí)session丟失,需要重新登錄A才可以訪問(wèn)。經(jīng)過(guò)資料查找,發(fā)現(xiàn)問(wèn)題是因?yàn)椋篒P相同認(rèn)為是同一個(gè)域,接收了B的set-cookie指令,把對(duì)應(yīng)的cookie內(nèi)容覆蓋了,其中包括jsessionid,造成A的session丟失。 如果IP不同,則不會(huì)發(fā)生這個(gè)問(wèn)題。IP相同的兩個(gè)session對(duì)應(yīng)的cookie是一樣的,而不幸的是sessionID就保存在cookie中,這樣先訪問(wèn)A,再訪問(wèn)B的時(shí)候,B的sessionid會(huì)覆蓋A的sessionid。這個(gè)事情沒(méi)辦法解決,所以你不要搞兩個(gè)端口,最好是搞兩個(gè)IP。原來(lái)都是cookie惹的禍,它不會(huì)區(qū)分端口,造成這多個(gè)站點(diǎn)不斷的后來(lái)的覆蓋前面的,從而造成session的丟失。

        解決方法:

方法1:將不同的多個(gè)應(yīng)用服務(wù)在不同的虛擬主機(jī)中,或者映射不同的IP進(jìn)行部署。

方法2:對(duì)應(yīng)tomcat服務(wù)處理方式:修改coocie的名稱保證cookie不重復(fù),即jsessionid的不重稱,保證ip相同下sessioncookiename域名不同。

           1、tomcat5修改方法

在啟動(dòng)項(xiàng)中增加org.apache.catalina.SESSION_COOKIE_NAME參數(shù)
 

linux
JAVA_OPTS=’-Dorg.apache.catalina.SESSION_COOKIE_NAME=yousessionname‘

win
set JAVA_OPTS=”-Dorg.apache.catalina.SESSION_COOKIE_NAME=yousessionname“

   2、tomcat6和tomcat7修改方法相同

       tomcat增加參數(shù)對(duì)所有Context生效,影響甚大,所以到以后的版本可以就僅針對(duì)Context設(shè)置了

        在Context容器標(biāo)簽上增加sessionCookieName參數(shù)

<Context path=”/” docBase=”webapp” reloadable=”false”sessionCookieName=”yoursessionname”></Context>

本人補(bǔ)充,此處如果是Tomcat7,是在conf/context.xml文件的<Context>標(biāo)簽中加sessionCookieName=”yoursessionname”,親測(cè)有效。

  3、weblogic修改方法

          設(shè)置各個(gè)應(yīng)用使用不同的cookie-name。

         weblogic的設(shè)置(設(shè)置不同的cookie-name):

         請(qǐng)?jiān)赪EB-INF\Weblogic.xml添加如下代碼

<session-descriptor>       
   <cookie-name>JSESSIONID1</cookie-name>   
</session-descriptor>

到此,關(guān)于“如何解決同IP不同端口Session沖突問(wèn)題”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

網(wǎng)站題目:如何解決同IP不同端口Session沖突問(wèn)題
路徑分享:http://muchs.cn/article12/gheodc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、微信公眾號(hào)、Google、網(wǎng)站維護(hù)、企業(yè)建站、用戶體驗(yàn)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都app開(kāi)發(fā)公司