2016-09-29 50 views
0

我在/etc/httpd/conf.d下創建了一個Httpd虛擬主機配置文件,以在兩臺服務器之間進行負載平衡。我的配置看起來是這樣的:如何在Redhat的Apache虛擬主機配置文件中檢索請求URI?

<VirtualHost *:8086> 
     ProxyRequests off 
     ServerName domain.com 
     <Proxy balancer://mycluster> 
       BalancerMember http://example1.com/b 
       BalancerMember http://example2.com/b 
       Allow from all 
       ProxySet lbmethod=byrequests 
     </Proxy> 

     <Location /balancer-manager> 
       SetHandler balancer-manager 
     </Location> 

     ProxyPass /balancer-manager ! 
     ProxyPass /a/b balancer://mycluster/ 

</VirtualHost> 

如果你看到上面的配置,我訪問我的負載平衡器的URL,domain.com:8086/a/b。我的要求是,當請求來到domain.com:8086/a/b/c/d其中c,d是動態值時,我想將它們附加到我的BalancerMembers。即它必須在http://example1.com/b/c/dhttp://example2.com/b/c/d之間進行負載平衡。我該怎麼做呢?

回答

0

總是匹配與目標斜線:

ProxyPass /a/b/ balancer://mycluster/ 

如果目標是平衡器:// MYCLUSTER你總是需要添加一個結尾的斜線,因爲它實在是平衡器:// myCluster中/如果這是你的目標你也需要在原點添加一個斜線,因此ProxyPass/a/b /。如果你不這樣做,你會在後端向不正確的uri發送問題。