10

我正在使用 mod_proxy_balancer 来管理后端服务器的故障转移。当其他一些后端服务(例如 NFS)失败时,后端服务器可能会返回错误代码而不是超时,并且我们希望这些服务器也被标记为故障节点。因此,我们使用 failonstatus 指令。

<Proxy balancer://avatar>
    ProxySet failonstatus=503 
    BalancerMember http://active/ retry=30
    # the hot standby
    BalancerMember http://standby/ status=+H retry=0
</Proxy>

目前,故障转移完美地运行了一个小故障。当活动节点发生故障时,用户会收到 503 错误,并且从下一个请求中备用服务器接管。

我不希望一个请求失败。无法在不向客户端返回错误的情况下进行 mod_proxy 故障转移?如果活动节点失败,我希望 mod_proxy 为相同的请求尝试备用,而不仅仅是后续请求!

4

2 回答 2

3

我想你在 Apache HTTPd 邮件列表上问过这个问题,但遗憾的是没有得到满意的答案。我在 ServerFault 中问过几乎相同的问题,所以我将它们结合在一起。

https://serverfault.com/questions/414024/apache-httpd-workers-retry

于 2012-08-06T14:33:38.503 回答
2

有一个新模块可以完成您的要求 https://httpd.apache.org/docs/2.4/mod/mod_proxy_hcheck.html

于 2016-09-02T14:50:28.873 回答