HTTP 400 狀態碼 (錯誤的請求) - Amazon CloudFront

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

HTTP 400 狀態碼 (錯誤的請求)

當用戶端在請求中傳送一些無效資料時,CloudFront 會傳回 400 個錯誤請求,例如承載或參數中的內容遺失或不正確。這也可以代表一般用戶端錯誤。

Amazon S3 原始伺服器傳回 400 錯誤

如果您將 Amazon S3 原始伺服器與 CloudFront 分佈搭配使用,您的分佈可能會傳送 HTTP 狀態碼 400 錯誤請求的錯誤回應,以及類似下列的訊息:

授權標頭格式錯誤;區域 '<AWS Region>' 錯誤;預期 '<AWS Region>'

例如:

授權標頭格式不正確;區域 'us-east-1' 是錯誤的;應該是 'us-west-2'

在下列情況下可能會發生這個問題:

  1. 您的 CloudFront 分佈的來源是 Amazon S3 儲存貯體。

  2. 您已將 S3 儲存貯體從一個 AWS 區域移至另一個區域。也就是說,您刪除了 S3 儲存貯體,之後您建立了一個具有相同儲存貯體名稱的新儲存貯體,但位於與原始 S3 儲存貯體所在的不同 AWS 區域。

若要修正此錯誤,請更新您的 CloudFront 分佈,讓它在儲存貯體的目前 AWS 區域中尋找 S3 儲存貯體。

更新您的 CloudFront 分佈
  1. 登入 AWS Management Console ,並在 開啟 CloudFront 主控台https://console.aws.amazon.com/cloudfront/v4/home

  2. 選擇產生此錯誤的分佈。

  3. 選擇 Origins and Origin Groups (原始伺服器和原始伺服器群組)

  4. 尋找您所移動 S3 儲存貯體的原始來源。選取此原始來源旁邊的核取方塊,然後選擇 Edit (編輯)

  5. 請選擇 Yes, Edit (是,編輯)。在選擇 Yes, Edit (是、編輯) 之前,不需要變更任何設定。

當您完成這些步驟時,CloudFront 會重新部署您的分佈。在部署分佈時,您會在上次修改的資料欄下看到部署狀態。部署完成後,您應該停止接收AuthorizationHeaderMalformed錯誤回應。

Application Load Balancer 原始伺服器傳回 400 錯誤

如果您將 Application Load Balancer 原始伺服器與 CloudFront 分佈搭配使用,400 錯誤的可能原因包括下列項目:

  • 用戶端傳送不符合 HTTP 規格的格式錯誤請求。

  • 請求標頭超過每個請求行 16 KB、每個單一標頭 16 KB,或整個請求標頭 64 KB。

  • 用戶端在傳送完整請求內文之前關閉了連線。