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

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

当客户端在请求中发送一些无效数据(例如有效负载或参数中的内容缺失或不正确)时,CloudFront 会返回 400 错误请求。这也可能表示一般客户端错误。

Amazon S3 源返回 400 错误

如果您将 Amazon S3 源与 CloudFront 分配结合使用,则分配可能会发送带有 HTTP 状态代码 400 错误请求的错误响应,以及类似于以下内容的消息:

授权标头格式错误;区域 '<Amazon Region>' 错误;需要 '<Amazon Region>'

例如:

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

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

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

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

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

更新 CloudFront 分配
  1. 登录 Amazon Web Services Management Console,并通过以下网址打开 CloudFront 控制台:https://console.amazonaws.cn/cloudfront/v4/home

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

  3. 选择源和源组

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

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

完成这些步骤后,CloudFront 将重新部署您的分配。部署分配时,您会在上次修改时间列下看到正在部署状态。部署完成后一段时间,您应停止接收 AuthorizationHeaderMalformed 错误响应。

应用程序负载均衡器源返回 400 错误

如果您在 CloudFront 分配中使用应用程序负载均衡器源,则导致 400 错误的可能原因包括以下各项:

  • 客户端发送的请求格式错误,不符合 HTTP 规范。

  • 请求标头超过了每个请求行 16 KB、单个标头 16 KB 或整个请求标头 64 KB 的限制。

  • 客户端在发送完整的请求正文之前关闭了连接。