如何排查与 CloudFront 中的 EC2 源相关的问题?

1 分钟阅读
0

我正在使用 Amazon Elastic Compute Cloud (Amazon EC2) 实例作为自己的 Amazon CloudFront 分配的自定义源。CloudFront 返回了一个错误。为什么会发生这种情况?如何排查此问题?

解决方案

根据 CloudFront 返回的错误类型,请参阅相关部分了解问题排查步骤。

CloudFront 返回 502 错误

当 Amazon EC2 配置为自定义源时,CloudFront 返回 502 错误的原因有四点。有关问题排查步骤,请参阅以下指南:

CloudFront 返回 503 错误

如果您的 CloudFront 行为关闭了缓存,则所有请求都将定向到源 EC2 实例,而不是从 CloudFront 缓存中提供服务。在此情况下,源 EC2 实例可能会因大量传入请求而变得不堪重负,然后返回 503 错误。

要排查 503 错误,请参阅原始服务器没有足够的容量来支持请求速率

如果 CloudFront 无法将请求路由到下一个最佳可用节点位置,并且不能满足请求,则会返回 503:超出容量错误。有关更多信息,请参阅 CloudFront 由于节点位置的资源限制而导致错误

CloudFront 返回 504 错误

当 Amazon EC2 配置为 CloudFront 分配的自定义源时,CloudFront 返回 504 错误的原因有两点:

  • 源向 CloudFront 返回了 HTTP 504 状态码。
  • 在请求过期之前,源没有响应。

有关问题排查步骤,请参阅 HTTP 504 状态代码(网关超时)

重定向错误

如果您在浏览器中看到重定向错误,请查看浏览器开发者工具中的“网络”部分。如果您在 CloudFront 分配中看到同一请求的多个实例,则重定向会导致浏览器错误。

要解决重定向错误:

  • 检查响应标头中的任何位置标头。位置标头表示发出请求时,将重定向发送到位置标头中的值。要解决此问题,请检查发送重定向的位置上的任何重定向规则或配置。
  • 检查服务器响应标头。例如,如果将“服务器”值设置为 EC2 服务器托管内容的 HTTP 服务器,则在 EC2 源上配置了重定向。检查响应标头中的服务器以排查问题。

AWS 官方
AWS 官方已更新 2 年前
没有评论