Apache反向代理问题

时间:2015-12-16 13:30:41

标签: apache proxy

我正在尝试使用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错误。

想想我在这里缺少一些配置部分。有什么建议吗?

1 个答案:

答案 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/