我在同一台机器上安装了一台apache服务器和一台tomcat 7服务器.apache服务器使用并配置启用虚拟主机,因为它应该服务于多个php网站.但是,我们还需要提供一些tomcat应用程序,因此我们需要配置ajp连接器.
一切顺利,我已成功配置多个服务于tomcat应用程序的apache虚拟主机,但我只有一个问题:
通过apache虚拟主机访问Java应用程序时,不会保留会话变量.当直接连接到tomcat服务器的8080端口时,这非常有效.
我可以在tomcat管理器中看到每个应用程序,每次从apache虚拟主机刷新页面时,会话数就会增加.
java应用程序部署在/ webapps/testapp文件夹中的tomcat中.
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" />
Run Code Online (Sandbox Code Playgroud)
apache webserver包含虚拟主机:
<VirtualHost *:80>
ServerName testapp.com
ServerAlias *.testapp.com
ProxyPreserveHost on
ProxyRequests off
ProxyPass / ajp://localhost:8009/testapp/
ProxyPassReverse / ajp://localhost:8009/testapp/
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
所以使用tomcat的Apache代理工作正常.问题是jsp会话没有通过代理工作.我怎样才能使它工作?我的配置有问题吗?