mod_proxy超时(502)和故障转移

时间:2009-05-14 08:56:42

标签: apache2 load-balancing failover mod-proxy

所以我们正在运行一个由2个以上的后端服务器集群(发生在JBoss服务器上),这些服务器由Apache 2.2进行负载平衡。有时可能会发生后端服务器无响应(意味着他们将等待很长时间来回复请求,但不会立即关闭连接)。这自然会导致502“Bad gateway”错误。我对负载均衡器的理解是,它应该进行故障转移并将请求重定向到剩余的实例。

我已经看到平衡器的节点可以进入错误状态,但是永远不能强制完全发送一个进入该状态(即在遇到第一个502之后执行该操作)。我错过了什么或者这只是我希望的功能吗? 哦,这是我的配置:

<Proxy balancer://s>
    Order deny,allow
    Allow from all

    BalancerMember http://host1:8080/ route=h1 timeout=20 retry=40
    BalancerMember http://host2:8080/ route=h2 timeout=20 retry=40
</Proxy>

# Distribute by Round Robin, use Sticky Sessions
ProxyPass / balancer://s/ stickysession=JSESSIONID lbmethod=byrequests nofailover=On
ProxyPassReverse /  http://host1:8080/
ProxyPassReverse /  http://host2:8080/

最佳, 塞巴斯蒂安

1 个答案:

答案 0 :(得分:4)

您指定nofailover = On表示它不会进行故障转移,因此会出现502错误。如果您希望它进行故障转移,则需要nofailover = Off,这意味着它应该进行故障转移。