我希望实现此配置。所以我尝试了这个,但服务器总是在Apache下的server_test
中寻找server_prod
和htdocs
。我想要的是将请求重定向到Tomcat服务器。如果我使用不带/ server_test和/ server_prod的不同端口,它可以工作,但这不是我想要的。
<virtualhost mydomaine.com/server_test:80>
ServerName mydomaine.com
ProxyRequests Off
ProxyPass / ajp://internalIp:8008/
ProxyPassReverse / http://mydomaine.com/server_test/
ProxyPassReverseCookiePath / /
</virtualhost>
<virtualhost mydomaine.com/server_prod:80>
ServerName mydomaine.com
ProxyRequests Off
ProxyPass / ajp://internalIp:8009/
ProxyPassReverse / http://mydomaine.com/server_prod/
ProxyPassReverseCookiePath / /
</virtualhost>
任何帮助将不胜感激
答案 0 :(得分:0)
试试这个:
<virtualhost mydomaine.com:80>
ServerName mydomaine.com
ProxyRequests Off
ProxyPass /server_test ajp://internalIp:8008/
ProxyPass /server_prod ajp://internalIp:8009/
ProxyPassReverse /server_test ajp://internalIp:8008/
ProxyPassReverse /server_prod ajp://internalIp:8009/
</virtualhost>
但是,您将无法使用ProxyPassReverseCookiePath
,因为两个Tomcat站点都会将/
的Cookie设置为路径。
为了让它按照我认为你想要的方式工作,你需要有两个独立的VirtualHost
。如果您只有一个IP地址,则需要使用基于名称的虚拟主机。
例如,添加与test.mydomaine.com
具有相同IP地址的子域mydomaine.com
。然后使用此配置:
NameVirtualHost mydomaine.com:80
<virtualhost mydomaine.com:80>
ServerName mydomaine.com
ProxyRequests Off
ProxyPass / ajp://internalIp:8009/
ProxyPassReverse / ajp://internalIp:8009/
</virtualhost>
<virtualhost mydomaine.com:80>
ServerName test.mydomaine.com
ProxyRequests Off
ProxyPass / ajp://internalIp:8008/
ProxyPassReverse / ajp://internalIp:8008/
</virtualhost>
然后,您可以访问http://mydomaine.com/的生产网站和http://test.mydomaine.com/的测试网站。