所以我们正在运行一个由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/
最佳, 塞巴斯蒂安
答案 0 :(得分:4)
您指定nofailover = On表示它不会进行故障转移,因此会出现502错误。如果您希望它进行故障转移,则需要nofailover = Off,这意味着它应该进行故障转移。