apache + tomcat stickysession不起作用的問題

    整合ssh架構的java項目運行在tomcat6上,用apache來代理,發佈了一個網站應用。發佈成功後,因別的網站裏iframe調用,很明顯發現ie瀏覽器禁用了cookie。

 

   爲了實現session能統一,apache中增加了stickysession。可以使用每次請求都會產生新的sessionid。


    網上找到很好的案例,可就是每次都一樣。

   http://acooly.iteye.com/blog/1302903


     最後發現自己的應用在tomcat中設置爲

   

<Context docBase="D:\workspace\xx\WebRoot" path="/xx" reloadable="false">
			
			</Context>

apache 配置

	ProxyRequests Off   
	ProxyPreserveHost on
	ProxyPass / balancer://tomcatcluster/ stickysession=JSESSIONID|jsessionid nofailover=Off
	#ProxyPassReverse / ajp://localhost:8009/
	<Proxy balancer://tomcatcluster/>  
	  BalancerMember ajp://localhost:8009/xx/site loadfactor=1 route=t  
	  #BalancerMember ajp://localhost:8999/hrbole/xx/site loadfactor=1 route=tomcat2  
	  #ProxySet lbmethod=bybusyness   
	</Proxy>   

最後發現,問題就出現在path上,path="/xx" 直接把cookie 的path路徑改成xx,而apache 用 /根路徑代理之後,tomcat 的xx目錄下的引用不再認可jsessionid


Set-Cookie 	JSESSIONID=B7EACFABF5543D0E5C19155CCDC82D02.a; Path=/xx

所以,要把tomcat的path路徑改成根目錄,適應apache的session目錄地址

<Context docBase="D:\workspace\xx\WebRoot" path="/" reloadable="false">
</Context>












發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章