如何解决 Amazon CloudFront 发出的“403 ERROR - The request could not be satisfied.Bad Request(403 错误 - 无法满足请求,错误请求)”错误?

上次更新日期:2022 年 5 月 31 日

Amazon CloudFront 返回错误消息“403 ERROR - The request could not be satisfied.Bad Request.(403 错误 - 无法满足请求,错误请求。)”。 如何解决此错误?

简短描述

此错误消息“403 ERROR - The request could not be satisfied.Bad Request.(403 错误 - 无法满足请求,错误请求。)”来自客户端。此错误可能是由以下某种原因导致的:

  • 请求是通过 HTTP 发起的,但 CloudFront 分配配置为仅允许 HTTPS 请求。要解决此问题,请按照 Allow HTTP requests(允许 HTTP 请求)解决方法部分中的步骤操作。
  • 请求的备用域名(CNAME)未与 CloudFront 分配相关联。要解决此问题,请按照 Associate a CNAME with a distribution(将 CNAME 与分配相关联)解决方法部分中的步骤操作。

注意:当您拥有的应用程序或网站使用 CloudFront 来向最终用户提供内容时,可以使用此解决方法来排查错误。如果您在尝试查看应用程序或访问网站时收到此错误,请联系提供商或网站拥有者以获得帮助。

解决方法

允许 HTTP 请求

请遵循以下步骤:

  1. 打开 Amazon CloudFront 控制台
  2. 选择返回“错误请求”错误的分配。
  3. 选择 Behaviors(行为)选项卡。
  4. 选择与请求匹配的行为。然后选择 Edit (编辑)
  5. 对于 Viewer Protocol Policy (查看器协议策略),请选择 HTTP and HTTPS (HTTP 和 HTTPS)Redirect HTTP to HTTPS (将 HTTP 重新导向到 HTTPS)
    注意:HTTP and HTTPS (HTTP 和 HTTPS) 允许同时通过 HTTP 和 HTTPS 进行连接。Redirect HTTP to HTTPS (将 HTTP 重新导向到 HTTPS) 会自动将 HTTP 请求重新导向到 HTTPS。
  6. 选择 Save Changes(保存更改)。

将 CNAME 与分配相关联

请遵循以下步骤:

  1. 打开 Amazon CloudFront 控制台
  2. 选择返回“错误请求”错误的分配。
  3. 选择 General(常规)选项卡。
  4. Settings(设置)下,选择 Edit(编辑)。
  5. 对于 Alternate Domain Names (CNAMEs)(备用域名(CNAME)),选择 Add Item(添加项目)。
  6. 输入要与 CloudFront 分配关联的 CNAME。
  7. Custom SSL certificate(自定义 SSL 证书)下,选择覆盖该域的证书。有关更多信息,请参阅如何将我的 CloudFront 分配配置为使用 SSL/TLS 证书?
    注意:将 CNAME 与分配关联时需要 SSL 证书。有关更多信息,请参阅使用备用域名的要求
  8. 选择 Save changes(保存更改)。