Apache-2.2

Apache 負載均衡器不會轉發到第二個平衡成員

  • January 30, 2015

我試圖找出我的 apache 配置有什麼問題,它阻止了平衡器在埠 9001 上呼叫第二個 BalanceMember。甚至是某種故障排除選項。Apache 日誌是裸露的。

使用下面的配置apache正常啟動,請求按預期從80轉發到9000。但是,當我關閉在 9000 上執行的服務時,在 9001 上執行的服務不會因對埠 80 的請求而被呼叫。我可以直接訪問在 9001 上執行的服務,因此我確定它正在執行並且可用。

  <VirtualHost X.X.X.X:80>
   ServerName myportal.com
   DocumentRoot /var/www/drig/data/www/myportal.com
   SuexecUserGroup drig drig

ProxyStatus on
ProxyPreserveHost on

   <Location /balancer-manager>
           SetHandler balancer-manager

           Order Deny,Allow
           Allow from all

   </Location>

   <Proxy balancer://mycluster>
           BalancerMember http://localhost:9000
           BalancerMember http://localhost:9001 status=+H
   </Proxy>
   ProxyPass /balancer-manager !
   ProxyPass / balancer://mycluster/

</VirtualHost>

問題最終是 iptables 阻塞了連接。這是在 EC2 實例上執行的,當我執行時:

service iptables stop

使用上面的配置連接成功。

嘗試以下配置

<VirtualHost *:80>
       ProxyRequests off     
       ServerName myportal.com

       <Proxy balancer://mycluster>
               BalancerMember http://localhost:9000
               BalancerMember http://localhost:9001

               Order Deny,Allow
               Deny from none
               ProxySet lbmethod=byrequests
       </Proxy>

       <Location /balancer-manager>
               SetHandler balancer-manager
               Order deny,allow
               Allow from all
       </Location>

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

</VirtualHost>

引用自:https://serverfault.com/questions/663752