内部错误服务器使用负载均衡器或 nginx 指向工作服务器

内部错误服务器使用负载均衡器或 nginx 指向工作服务器

假设我有 3 台具有不同 IP 的物理服务器和 1 个负载均衡器,用于管理这 3 台服务器之间的流量。我们测试停止 2 台服务器中的 nginx 服务,负载均衡器检测到了这一点,并且不使用停止 nginx 的 2 台服务器。

我的问题是:例如,3 台服务器正常运行,而 1 台服务器出现内部服务器错误(任何 500 内部服务器错误)。我们如何避免遇到服务器错误的 1 台服务器?以避免出现白页?

答案1

您可以通过定义格式正确的错误文档来避免出现空白页error_page指令,而不是依赖默认错误消息:)

   error_page 500 /errors/500.html

另一方面,如果您想避免向返回错误的节点发送进一步的请求?

通常,这是您在负载均衡器中配置的内容,您希望从活动后端服务器池中删除故障节点。不同产品的细节有所不同,但您需要定义一个健康检查,该检查不仅仅是 TCP 连接,还可以确定后端服务器是否正常运行。

负载均衡器需要做一些更高级的事情,比如实际的 HTTP 请求,并评估速度和返回内容,通常是 HTTP 状态/响应代码为 200 和/或响应主体具有特定内容或满足特定的最小大小。

相关内容