HTTP 400 状态代码(错误请求) - Amazon CloudFront
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

HTTP 400 状态代码(错误请求)

您的 CloudFront 分配可能会发送带有 HTTP 状态代码 400 错误请求的错误响应,以及类似于以下内容的消息:

授权标头格式错误;区域“<AWS Region>”错误;需要“<AWS Region>

例如:

授权标头格式错误;区域“us-east-1”错误;需要“us-west-2”

以下情况下可能会出现此问题:

  1. 您的 CloudFront 分配的源是一个 Amazon S3 存储桶。

  2. 您将 S3 存储桶从一个 AWS 区域移动到了另一个 AWS 区域。也就是说,您删除了 S3 存储桶,之后您创建了一个同名的新存储桶,但位于与原始 S3 存储桶所在位置不同的 AWS 区域。

要修复此错误,请更新您的 CloudFront 分配,以便在存储桶的当前 AWS 区域中找到 S3 存储桶。

更新您的 CloudFront 分配

  1. 登录 AWS 管理控制台,通过以下网址打开 CloudFront 控制台:https://console.amazonaws.cn/cloudfront/

  2. 选择产生此错误的分配。

  3. 选择 Origins and Origin Groups (源和源组)

  4. 查找您移动的 S3 存储桶的源。选中此源旁边的复选框,然后选择 Edit (编辑)

  5. 选择是,编辑。在选择 Yes, Edit (是,编辑) 之前,您无需更改任何设置。

完成这些步骤后, CloudFront 将重新部署您的分配。在部署分配时, CloudFront 控制台中的分配状态将更改为 In Progress (正在进行中)。部署完成后,分配的状态将更改为 Deployed (已部署),并且您应停止接收 AuthorizationHeaderMalformed 错误响应。即使状态更改为 Deployed (已部署),也可能需要一些时间才能停止收到此错误。