2015-12-16 153 views
1

我正嘗試用戶mod_proxy爲使用單個Apache Web服務器(版本2.4)的多個Web應用程序設置反向代理。Apache反向代理問題

我有兩個不同的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 

問題是當我測試這個使用下面的URL

http://rp.test.com:80/App1/ and http://rp.test.com:80/App2/,apache web服務器做se nd我到tomcats託管的應用程序,但點擊應用程序的任何內部鏈接時出現404錯誤。

想想我缺少一些配置部分在這裏。有什麼建議麼?

回答

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/ 
+0

嘗試了上述修復。我使用以下這個表格:http://rp.test.com:80/App1/然後點擊一個鏈接它會自動解析到http://rp.test.com:80/cn。 manager.html並引發404錯誤。實際網址爲http://rp.test.com:80/App1/manager.html – user3150734