2010-10-08 42 views

回答

0

我相信Apache不允許它。衝突指令的順序和優先順序存在潛在的問題;如果您在/ QA比賽或/比賽之後收到/ QA /請求?我猜你可能試圖在同一地址/端口上映射多個託管服務器,而不必識別每個子路徑,即單個規則而不是多個。還有一個與documentRoot衝突。可以說,如果你在根上匹配,那麼Apache層有什麼意義 - 所有東西都是直接傳遞的,Apache本身並沒有提供任何東西。 (這並不意味着從來沒有這樣做的正確理由,但我可以理解Apache爲什麼會這麼想)。

我知道做到這一點的唯一方法是虛擬虛擬主機內(不知道這可能是唯一的監聽端口,但我是這麼認爲的):

<VirtualHost *:8080> 
    ProxyPass/http://IP:PORT/ 
    ProxyPassReverse/http://IP:PORT/ 
</VirtualHost> 

你也可以看看WebLogic代理插件:

<Location /> 
    SetHandler weblogic-handler 
</Location> 

<IfModule mod_weblogic.c> 
    WebLogicHost IP 
    WebLogicPort PORT 
</IfModule> 
0

Alex,謝謝你的幫助!

對於那些試圖建立類似環境的人,我已經粘貼了我在下面所做的。

ProxyRequests OFF 

LoadModule proxy_module modules/mod_proxy.so 
LoadModule proxy_http_module modules/mod_proxy_http.so 
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so 
LoadModule headers_module modules/mod_headers.so 

<Proxy *> 
    Order deny,allow 
    Allow from all 
</Proxy> 

Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED 
<Proxy balancer://cluster> 
    BalancerMember http://IP:PORT/ route=1 
    BalancerMember http://IP:PORT/ route=2 
    ProxySet stickysession=ROUTEID 
</Proxy> 

<VirtualHost *:80> 
    ProxyPass/balancer://cluster/ 
    ProxyPassReverse/balancer://cluster/ 
</VirtualHost>