2013-07-12 92 views
0

我期待實現此配置。所以我嘗試了這一點,但服務器無處不在尋找在htdocs下的server_testserver_prod。我想要的是將請求重定向到Tomcat服務器。如果我在不使用/ server_test和/ server_prod的情況下使用不同的端口,它可以工作,但這不是我想要的。是否有可能使用ProxyPass只有一個IP地址

<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

試試這個:

<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 s。如果您只有一個IP地址,則需要使用基於名稱的虛擬主機。

例如,添加一個與mydomaine.com具有相同IP地址的子域test.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/

+0

最後,我用兩個不同的子域與兩個NameVirtualHost和每個子域的虛擬主機。 – outellou

相關問題