日期:2014-05-16  浏览次数:20995 次

apache mod_proxy反向代理tomcat session丢失问题

被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 /