客户端在尝试连接至配置为使用 Classic Load Balancing 的 EC2 实例上运行的 Web 服务器时,收到 HTTP 502、503 或 504 错误。

HTTP 5XX 的解决方案各不相同。请参阅以下页面了解更多信息:

HTTP 502 (无效网关)

如果在 EC2 实例上运行的 Web 服务器或关联的后端应用程序服务器返回的消息无法通过 Classic Load Balancer (CLB) 解析,则可能会发生 HTTP 502 错误。

要在解决此错误方面获取帮助,请参阅我在通过负载均衡器发出请求时,收到 HTTP 502 错误。如何对这些错误进行故障排除?

HTTP 503 (服务不可用)

出现 HTTP 503 错误的原因可能有多种,包括:

  • 可用于服务客户端请求的 Web 服务器或后端应用程序服务器实例资源不足。
  • Web 服务器实例或后端应用程序服务器实例未通过 Classic Load Balancer (CLB) 运行状况检查。
  • 在 Web 服务器实例或后端应用程序服务器实例上运行的一个或多个进程关闭或无法通过预期的 TCP/IP 端口号 (如 HTTP TCP 端口 80) 进行访问。
  • 安全组或访问控制列表 (ACL) 配置错误阻止访问后端应用程序服务器实例。
  • 您尚未在 Classic Load Balancer 配置为在其中响应的每个可用区内注册后端实例。有关更多信息,请参阅配置跨区域负载均衡
  • 没有对 Web 服务器实例向其注册的 Classic Load Balancer 启用连接耗尽

要在解决此错误方面获取帮助,请参阅如何排查使用 Classic Load Balancer 时返回的 HTTP 503 错误?

HTTP 504 (网关超时)

HTTP 504 错误可能因以下原因而发生:

  • Web 服务器实例或后端应用程序服务器实例繁忙,在配置的 Elastic Load Balancing (ELB) 空闲超时限制内无法响应请求。
  • Web 服务器实例或后端应用程序服务器实例在负载均衡器之前终止连接,导致连接提前终止。
  • 请求未送达时,Web 服务器实例或后端应用程序服务器实例已崩溃或重新启动服务器进程,从而导致服务器断开所有连接。
  • Apache Web 服务器实例启用了 AcceptFilter http/https 选项,从而指示 Apache 在连接上实现 TCP_DEFER_ACCEPT。
  • Apache Web 服务器实例启用了 event MPM,尚未在默认的 60 秒 ELB 空闲超时期限内优化配置 preforkworker MPM。有关更多信息,请参阅使用 Apache 作为 ELB 的后端服务器的最佳设置是什么?

要在解决此错误方面获取帮助,请参阅如何排查使用 Classic Load Balancer 时返回的 HTTP 504 错误?


此页面对您有帮助吗? |

返回 AWS Support 知识中心

需要帮助? 请访问 AWS 支持中心

发布时间:2016 年 9 月 16 日

更新时间:2018 年 2 月 23 日