通过apache访问Tomcat,session丢失的问题

apache版本2.2
httpd.conf配置如下:
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot  D:\work\tellu
ServerName www.tellu.net
ErrorLog D:/error2_log
TransferLog D:/access2_log
ProxyPass /page/ !
ProxyPass /static/ !
ProxyPass /adimage/ !
ProxyPass /swf/ !
ProxyPass / ajp://192.168.3.56:8009/tellu/ smax=5 max=20 ttl=120 retry=300
proxyPassReverse / ajp://192.168.3.56:8009/tellu/
</VirtualHost>
以上配置的效果是当访问www.tellu.net这个域名的时候转入ajp://192.168.3.56:8009/tellu/,也就是tomcat的url,可以访问相应的jsp
如果访问www.tellu.net/page/(或者:/static/,/adimage/,/swf)的时候会访问本机的D:\work\tellu\下的对应目录下的静态资源
均测试通过
当访问动态资源时,每次访问会创建一个单独的sessionid,以下是我对1个jsp的连续2次刷新:
DEBUG  New session created, sessionId : E94F5F9E1A581A57590B491AC45064E8
- New session created, sessionId : 1D3F7EA6DC6CCA458C3CF5C7C5B408A6
关掉apache,光用tomcat访问不存在这个问题,应该是对apache映射的原理理解不够深刻.


补充:
此问题已解决,配置上出了一点问题,导致用户每次访问都重新访问tomcat,session自然不同:
修改httpd.conf:
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot  D:\work\tellu
ServerName www.tellu.net
ErrorLog D:/error2_log
TransferLog D:/access2_log
ProxyPass /page/ !
ProxyPass /static/ !
ProxyPass /adimage/ !
ProxyPass /swf/ !
ProxyPass / ajp://www.tellu.net:8009/ smax=5 max=20 ttl=120 retry=300
</VirtualHost>
然后在tomcat的server.xml中修改虚拟主机如下:
<Host name="www.tellu.net"  appBase="D:\system\Tomcat 6.0"  unpackWARs="true" autoDeploy="true"  xmlValidation="false" xmlNamespaceAware="false">       
        <Context path="" docBase="webapps\tellu" reloadable="true" />
      </Host>

你可能感兴趣的:(apache,tomcat,jsp,.net,xml)