如何針對 CloudFront 的 403 錯誤進行疑難排解?

上次更新日期:2022 年 6 月 9 日

我正在使用 Amazon CloudFront 來提供內容。我的使用者收到 HTTP 403 錯誤訊息 “The request could not be satisfied” (無法滿足請求) 或 “Access Denied” (拒絕存取) 訊息。 如何對此進行疑難排解?

解決方案

替代 CNAME 設定不正確

若要使用替代 CNAME 而非預設的 CloudFront URL:

  1. 在您的 CloudFront 分佈組態中新增 CNAME。
  2. 在您的 DNS 中建立 CNAME 記錄,以將 CNAME 指向 CloudFront 分佈 URL。

如果您建立 DNS 記錄,但未在 CloudFront 分佈組態中新增 CNAME,則請求會傳回 403 錯誤訊息。如需有關設定自訂 CNAME 的指示,請參閱Using custom URLs by adding alternate domain names (CNAMEs) (透過新增替代網域名稱 (CNAME) 來使用自訂 URL)。

AWS WAF 是在 CloudFront 分佈或來源上設定

CloudFront 無法區分來源傳回的 HTTP 狀態碼 403,以及在請求遭到封鎖時由 AWS WAF 傳回的狀態碼。

若要尋找 403 狀態碼的來源,請檢查 AWS WAF web access control list (ACL) (AWS WAF Web 存取控制清單 (ACL)) 規則是否有封鎖的請求。如需詳細資訊,請參閱測試 Web ACL

自訂來源傳回 403 錯誤

403 錯誤可能是由 AWS WAF 或在來源建立的自訂防火牆組態所造成。若要進行疑難排解,請直接向來源提出請求。如果您可以在沒有 CloudFront 的情況下複寫錯誤,則來源會導致 403 錯誤。

如果錯誤是由自訂來源造成的,則請檢查來源日誌以找出造成錯誤的原因。

Amazon S3 來源傳回 403 錯誤

錯誤是由已簽署 URL 或已簽署 Cookie 組態所造成的

如果您針對 CloudFront 的行為組態開啟了 Restrict viewer access (限制檢視器存取),則在未使用已簽署 Cookie 或 URL 的情況下提出的請求會導致 403 錯誤。

如需有關設定已簽署 Cookie 和已簽署 URL 的詳細資訊,請參閱 Serving private content with signed URLs and signed cookies (使用已簽署 URL 和已簽署 Cookie 提供私有內容)

如需疑難排解步驟,請參閱如何對 CloudFront 中已簽署 URL 或已簽署 Cookie 相關問題進行疑難排解?


此文章是否有幫助?


您是否需要帳單或技術支援?