Apache-2.2
Apache 負載均衡器不會轉發到第二個平衡成員
我試圖找出我的 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>