apache2 - mod_proxy 超时 (502) 和故障转移

标签 apache2 load-balancing failover mod-proxy

所以我们正在运行一个由 Apache 2.2 进行负载平衡的 2 个以上后端服务器(恰好是 JBoss 服务器)的集群。有时,后端服务器可能会变得无响应(这意味着它们会等待很长时间才能回复请求,但不会立即关闭连接)。这自然会以 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/

最好的事物,
塞巴斯蒂安

最佳答案

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

关于apache2 - mod_proxy 超时 (502) 和故障转移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/862285/

相关文章:

apache - 需要在 Apache 上允许编码斜杠

java - 为什么 Spring Integration 故障转移不显示异常

java - Spring Boot 处理中的 Oracle DB 故障转移

java - 文件下载器中基本访问认证的问题

Linux 设置文件夹权限(ftp 和 Apache2)

apache - 添加、删除或重新加载特定虚拟主机,无需重新启动 Apache(并中断其他 VirtualHost 的请求)

nginx - Elastic Beanstalk 上 Nginx 服务器上的基本身份验证

java - 使用 JMS + CCDT 文件连接到 IBM MQ 时出现负载平衡问题

asp.net - NLB 和 Web 部署

支持oracle TAF功能的java连接字符串