0

我有一个 HAProxy 作为其他盒子的负载平衡器。我知道当一个盒子返回 500 范围内的响应(在健康检查中)时,haproxy 会使盒子停止旋转。

如果它(代理)收到 503,它会做什么?(来自健康检查)503 通常要求重试。它是根据Retry-AfterHeader 重试还是让盒子不旋转?如果重试,标题是否重要?换句话说,如果没有Retry-After标头,是否仍然尊重 503 并重试?还是将其视为盒子错误并将盒子从旋转中移除?

4

1 回答 1

1

Haproxy 将任何 500 响应视为错误。https://code.google.com/p/haproxy-docs/wiki/httpchk

只有 200 和 300 被认为是成功的。所有其他都被视为失败。

您问题第二部分的答案取决于您如何设置健康检查间隔。如果您将它们设置为在 1 次故障后将主机退出轮换并且主机返回 503,那么是的,它将从轮换中移除。如果您将其配置为需要 2 次故障,并且主机仅返回 1 个连续 503,然后开始返回 200,则主机将保持轮换。

于 2013-08-19T15:08:20.087 回答