HTTP 400 状态代码(错误请求)
当客户端在请求中发送一些无效数据(例如有效负载或参数中的内容缺失或不正确)时,CloudFront 会返回 400 错误请求。这也可能表示一般客户端错误。
Amazon S3 源返回 400 错误
如果您将 Amazon S3 源与 CloudFront 分配结合使用,则分配可能会发送带有 HTTP 状态代码 400 错误请求的错误响应,以及类似于以下内容的消息:
授权标头格式错误;区域 '<Amazon Region>
' 错误;需要 '<Amazon Region>
'
例如:
授权标头格式错误;区域“us-east-1”错误;需要“us-west-2”
以下情况下可能会出现此问题:
-
您的 CloudFront 分配的来源是一个 Amazon S3 存储桶。
-
您将 S3 存储桶从一个 Amazon 区域移动到了另一个区域。也就是说,您删除了 S3 存储桶,之后您创建了一个同名的新存储桶,但位于与原始 S3 存储桶所在位置不同的 Amazon 区域。
要修复此错误,请更新您的 CloudFront 分配,以便在存储桶的当前 Amazon 区域中找到 S3 存储桶。
更新 CloudFront 分配
登录 Amazon Web Services Management Console,并通过以下网址打开 CloudFront 控制台:https://console.amazonaws.cn/cloudfront/v4/home
。 -
选择产生此错误的分配。
-
选择源和源组。
-
查找您移动的 S3 存储桶的源。选中此源旁边的复选框,然后选择编辑。
-
选择是,编辑。在选择是,编辑之前,您无需更改任何设置。
完成这些步骤后,CloudFront 将重新部署您的分配。部署分配时,您会在上次修改时间列下看到正在部署状态。部署完成后一段时间,您应停止接收 AuthorizationHeaderMalformed
错误响应。
应用程序负载均衡器源返回 400 错误
如果您在 CloudFront 分配中使用应用程序负载均衡器源,则导致 400 错误的可能原因包括以下各项:
-
客户端发送的请求格式错误,不符合 HTTP 规范。
-
请求标头超过了每个请求行 16 KB、单个标头 16 KB 或整个请求标头 64 KB 的限制。
-
客户端在发送完整的请求正文之前关闭了连接。