本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
对经典负载均衡器进行故障排除:响应代码指标
您的负载均衡器会根据向客户端发送的 HTTP 响应代码向 Amazon CloudWatch 发送指标,以识别错误源是负载均衡器还是注册实例。您可以使用 CloudWatch 为负载均衡器返回的指标来解决问题。有关更多信息,请参阅 CloudWatch Classic Load Balancer 的指标。
下面是 CloudWatch 为负载均衡器返回的响应代码指标、潜在原因以及可以用于解决问题的步骤。
响应代码指标
HTTPCode_ELB_4XX
原因:来自客户端的格式错误的或已取消的请求。
解决方案
-
请参阅 HTTP 408:请求超时。
HTTPCode_ELB_5XX
原因:负载均衡器或已注册实例导致了错误或负载均衡器无法解析响应。
解决方案
-
请参阅HTTP 502:无效网关。
-
请参阅 HTTP 503:服务不可用。
-
请参阅 HTTP 504:网关超时。
HTTPCode_Backend_2XX
原因:来自已注册实例的正常成功响应。
解决方案:无。
HTTPCode_Backend_3XX
原因:由已注册实例发送的重定向响应。
解决方案:查看您的实例中的访问日志或错误日志以确定原因。将请求直接发送到实例 (绕过负载均衡器) 以查看响应。
HTTPCode_Backend_4XX
原因:从已注册实例发送的客户端错误响应。
解决方案:查看您的实例中的访问或错误日志以确定原因。将请求直接发送到实例 (绕过负载均衡器) 以查看响应。
注意
如果客户端取消了以 Transfer-Encoding: chunked
标头开头的 HTTP 请求,则会出现一个已知问题,即负载均衡器会将此请求转发到实例,即使客户端取消了此请求也是如此。这可能会导致后端错误。
HTTPCode_Backend_5XX
原因:从已注册实例发送的服务器错误响应。
解决方案:查看您的实例中的访问日志或错误日志以确定原因。将请求直接发送到实例 (绕过负载均衡器) 以查看响应。
注意
如果客户端取消了以 Transfer-Encoding: chunked
标头开头的 HTTP 请求,则会出现一个已知问题,即负载均衡器会将此请求转发到实例,即使客户端取消了此请求也是如此。这可能会导致后端错误。