我正在尝试使用mod_proxy来使用单个Apache Web服务器(版本2.4)为多个Web应用程序设置反向代理。
我在两个不同的tomcat服务器上运行了两个应用程序:
1. http://app.test.com:8080/app
2. http://app.test.com:8090/app
我在httpd.conf文件中启用了所需的模块,并将以下行添加到同一个:
> ProxyPass /App1/ http://app.test.com:8080/app
> ProxyPassReverse /App2/ http://app.test.com:8090/app
问题是当我使用以下网址
测试时
http://rp.test.com:80/App1/ and http://rp.test.com:80/App2/
,apache网络服务器确实将我发送到tomcats上托管的应用程序,但在点击应用程序的任何内部链接时出现404错误。
想想我在这里缺少一些配置部分。有什么建议吗?
答案 0 :(得分:0)
您还需要在代理后面配置Tomcat连接器。像这样的想法,包含你的外部服务器名称和端口。
<Connector port="8081" ...
proxyName="www.mycompany.com"
proxyPort="80"/>
要调整URL中的路径,可以使用proxypassreversepath指令,请参阅:
http://httpd.apache.org/docs/2.2/mod/mod_proxy.html#proxypassreversecookiepath
ProxyPassReverseCookiePath /App1/ /app/