apache tomcat集群后-设置虚拟路径后无法粘合session的解决办法

整合ssh架构的java项目运行在tomcat6上,用apache来代理,发布了一个网站应用。发布成功后,因别的网站里iframe调用,很明显发现ie浏览器禁用了cookie。

  

   为了实现session能统一,apache中增加了stickysession。可以使用每次请求都会产生新的sessionid。

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

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

     最后发现自己的应用在tomcat中设置为

   


            
            

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

最后发现,问题就出现在path上,path="/xx" 直接把cookie 的path路径改成xx,而apache 用 /根路径代理之后,tomcat 的xx目录下的引用不再认可jsessionid

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

所以,要把tomcat的path路径改成根目录,适应apache的session目录地址

--------------------- 
作者:bayaci 
来源:CSDN 
原文:https://blog.csdn.net/bayaci/article/details/7599925 
版权声明:本文为博主原创文章,转载请附上博文链接!

 

 

======================实际上我这边测试,在tomcat中写了虚拟路径,依旧是可以的,亲测==========

我的tomcat的xml配置如下






  
  
  
  
  
  
  
  
  

  
  
    
    
  

  
  
  
    
    
    
    
    
    
    
               
    
    

    
    


    

     
    
	
			
			 


      
              

      
      

      
      

      
      

		 
        
        

        
        

      
    
  

 

你可能感兴趣的:(tomcat,apache)