当Tomcat中的应用被apache mod_proxy反向代理后,tomcat session就会丢失
关键在于tomcat 中的应用context 路径是 /portal , 而外部访问context 路径是 / ,JSESSIONID 的值从浏览器经过反向代理到达tomcat时,由于cookie时内外路径不一致,使tomcat每次重写设置JSESSIONID 的值,导致session丢失现象,
在apache VirtualHost中需要通过 ProxyPassReverseCookiePath 指令做一个路径映射,详细如下:ProxyPreserveHost On
ProxyPass / http://localhost:8080/portal/
ProxyPassReverse / http://localhost:8080/portal/
ProxyPassReverseCookieDomain locahost www.domain.cn
ProxyPassReverseCookiePath /portal /