如何針對 CloudFront 的 403 錯誤進行疑難排解?
上次更新日期:2022 年 6 月 9 日
解決方案
替代 CNAME 設定不正確
若要使用替代 CNAME 而非預設的 CloudFront URL:
- 在您的 CloudFront 分佈組態中新增 CNAME。
- 在您的 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 錯誤
基於您的 Amazon Simple Storage Service (Amazon S3) 作為來源組態,請參閱下列各項以進行疑難排解:
錯誤是由已簽署 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 相關問題進行疑難排解?