Apache 2.2 虚拟主机 + Tomcat 7 应用程序



我在同一台机器上安装了一台 apache 服务器和一台 tomcat 7 服务器。apache服务器的使用和配置启用了虚拟主机,就像应该为多个php网站服务器一样。但是,我们也需要为一些tomcat应用程序提供服务,因此我们需要配置ajp连接器。

一切顺利,我已经成功地配置了多个为tomcat应用程序提供服务的apache虚拟主机,但我只有一个问题:

通过 apache 虚拟主机访问 java 应用程序时,不会维护会话变量。当直接连接到tomcat服务器的8080端口时,这非常有效。

我可以在每个应用程序的 tomcat 管理器中看到会话数随着 apache 虚拟主机每次刷新页面而增加。

Java 应用程序部署在 tomcat 中的/webapps/testapp 文件夹中。

tomcat 服务器 xml 有一个描述为的 ajp 连接器:

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" 
maxThreads="300" minSpareThreads="10" enableLookups="false"
tcpNoDelay="true" tomcatAuthentication="false" URIEncoding="UTF-8" />

apache Web服务器包含虚拟主机:

<VirtualHost *:80>
    ServerName testapp.com
    ServerAlias *.testapp.com
    ProxyPreserveHost on
    ProxyRequests     off
    ProxyPass / ajp://localhost:8009/testapp/
    ProxyPassReverse / ajp://localhost:8009/testapp/
</VirtualHost>

因此,带有tomcat的Apache代理工作正常。问题是 jsp 会话没有通过代理工作。我怎样才能让它工作?我的配置有问题吗?

所以解决方案是为 apache VHost 添加其他指令:

ProxyPassReverseCookiePath /testapp /

这样,cookie 的标头就不会损坏,雄猫将看到会话正常。

最新更新