跳至内容

如何解决 CloudFront 中的重定向错误?

1 分钟阅读
0

我在 Amazon CloudFront 中的域重定向出现了重定向循环问题或收到“too many redirects”错误。

解决方法

要解决重定向循环和“too many redirects”错误,请按照 CloudFront 分配的以下步骤操作。

验证您的 CloudFront 分配行为的设置是否配置正确

要验证您的设置,请执行以下操作:

对持续重定向问题进行故障排除

在典型的工作流程中,客户端连接到 CloudFront,然后 CloudFront 连接到原始服务器。您的分配的来源协议策略和原始服务器的重定向策略必须兼容。

如果您在使用 CloudFront 加载网站或应用程序时出现持续重定向,请检查 CloudFront 上的来源配置。此问题可能是由于 CloudFront 和原始服务器配置之间的协议不匹配而导致。

例如,您的原始服务器将所有 HTTP 请求重定向到 HTTPS,并且您的分配的来源协议策略设置为 HTTP。如果客户端请求 http://d12345.cloudfront.net/example.image,则 CloudFront 会向来源服务器发出请求,要求通过 HTTP 获取内容。请求到达原始服务器,然后服务器将请求从 HTTP 重定向到 HTTPS。该请求通过 HTTPS 路由回 CloudFront。然后,CloudFront 使用 HTTP 向来源发出请求并重新启动请求循环。

要解决持续重定向问题,请要求在 CloudFront 与您的自定义源之间使用 HTTPS 进行通信。但是,最佳做法是不使用 HTTP 请求来获取敏感信息,因为通信是纯文本的。

**注意:**您的自定义原始服务器上必须具有有效的 SSL/TLS 证书。如果您的原始服务器上没有有效的证书,请移除重定向策略并将原始服务器配置为接受 HTTP 请求。

使用边缘函数重定向您的域

有关如何使用边缘函数重定向您的域的信息,请参阅如何在 CloudFront 中重定向域?

配置 Route 53 和域设置

如果您使用 Amazon Route 53 进行 DNS 管理,请确保您的域记录配置正确地指向 CloudFront 分配。

完成以下步骤:

  1. 打开 Route 53 控制台
  2. 从导航窗格中,选择 Hosted zones(托管区)。
  3. Hosted zone name(托管区名称)中,确保域名与您的 CloudFront 分配的域相匹配。
  4. Hosted zone name(托管区名称)中,选择您的域名。
  5. Records(记录)中,选择您的记录名称,然后选择 Edit record(编辑记录)。
  6. 选择 Routing policy(路由策略)下拉列表,然后选择 Simple routing(简单路由)。
  7. 选择 Save(保存)。

相关信息

如何使用单个 CloudFront Web 分配提供来自使用多种行为的多个源的内容?

AWS 官方已更新 6 个月前