当我连接到在配置为使用经典负载均衡的 EC2 实例上运行的 Web 服务器时,为什么会收到 HTTP 5xx 错误?

1 分钟阅读
0

当我尝试连接到 Web 服务器时,我收到了 HTTP 502、503 或 504 错误。Web 服务器在配置为使用经典负载均衡的 EC2 实例上运行。

解决方法

HTTP 502(网关错误)

如果经典负载均衡器无法解析消息,则可能会收到 HTTP 502 错误。在 EC2 实例上运行的 Web 服务器或关联的后端应用程序服务器会返回一条消息,表示经典负载均衡器无法解析。有关详细信息,请参阅如何解决通过经典负载均衡器发出请求时的 HTTP 502 错误?

HTTP 503(服务不可用)

出现 HTTP 503 错误的原因如下:

  • 波动队列已满。查看 SpilloverCount 指标,检查您的实例是否有能力处理请求速率。
  • 没有正常运行的实例。确保您的负载均衡器响应的每个可用区都有运行状况良好的实例。为此,请查看 HealthyHostCount 指标。有关详细信息,请参阅经典负载均衡器故障排除:运行状况检查
  • 您没有在负载均衡器响应的每个可用区中注册至少一个实例。如果您无法确认实例是否已在每个可用区注册,请启用跨区域负载均衡
  • 您从中注册 Web 服务器实例的经典负载均衡器未启用连接耗尽功能。

有关详细信息,请参阅如何解决使用经典负载均衡器时返回的 HTTP 503 错误?

HTTP 504(网关超时)

出现 HTTP 504 错误的原因如下:

  • Web 服务器实例或后端应用程序服务器实例繁忙,无法在配置的弹性负载均衡(ELB)空闲超时限制内响应请求。有关详细信息,请参阅如何对 ELB 经典负载均衡器上的高延迟进行故障排除?
  • Web 服务器实例或后端应用程序服务器实例在负载均衡器终止连接之前终止了连接。这会导致连接过早终止。
  • 传输请求时,Web 服务器实例或后端应用程序服务器实例会崩溃或重新启动服务器进程。这会导致服务器断开所有连接。
  • Apache Web 服务器实例已启用 AcceptFilter http/https 选项。这指示 Apache 在连接上实施 TCP_DEFER_ACCEPT
  • Apache Web 服务器实例已启用 event(来自 Apache 网站)MPM,但是 preforkworker(来自 Apache 网站)MPM 的配置没有达到最佳状态。默认的 ELB 空闲超时限制为 60 秒。有关详细信息,请参阅使用 Apache 或 NGINX 作为 ELB 的后端服务器的最佳设置是什么?

有关详细信息,请参阅如何解决使用经典负载均衡器时返回的 HTTP 504 错误?

相关信息

什么是弹性负载均衡?

教程: 创建经典负载均衡器

为您的经典负载均衡器配置运行状况检查

监控您的经典负载均衡器

AWS 官方
AWS 官方已更新 10 个月前