如何解決來自 CloudFront 的 403 錯誤?

2 分的閱讀內容
0

我正在使用 Amazon CloudFront 來提供內容。我的使用者收到 HTTP 403 錯誤訊息「The request could not be satisfied」(無法滿足請求) 或「Access Denied」(拒絕存取) 訊息。

解決方法

網域名稱與分發上的替代網域名稱 (CNAME) 沒有關聯

如果您建立網域名稱系統 (DNS),但未在 CloudFront 分發組態中新增 CNAME,則 CloudFront 會傳回 403 錯誤訊息。即使 CNAME 在 DNS 層級將 CNAME 重新導向至 CloudFront ,仍會發生這種情況。

若要使用 CNAME 而不是預設的 CloudFront URL,請遵循新增替代網域名稱的指示進行操作

如需詳細資訊,請參閱透過新增替代網域名稱 (CNAME) 來使用自訂 URL

已在分發上設定 CloudFront 地理限制

CloudFront 地理限制可防止特定國家/地區的使用者存取您的內容。如果因為地理限制而導致錯誤,則 403 回應會包含類似以下內容的訊息: 「Amazon CloudFront 分發已設定為封鎖來自您所在國家/地區的存取。」 此外,也會顯示 Server: CloudFront 回應標頭。對應的 CloudFront 存取日誌項目包含 ClientGeoBlocked 作為x-edge-detailed-result-type 的值。

如需詳細資訊,請參閱限制內容的地理分佈

AWS WAF 是在 CloudFront 分發上設定的,並封鎖了請求

如果您使用 AWS WAF 監控轉送的請求,且要求的內容與指定的條件不符,則 WAF 會封鎖內容。您收到 403 錯誤訊息。在這種情況下,錯誤包含類似於以下內容的消息: 「請求被封鎖。我們目前無法連接到此應用程式或網站的伺服器。」 伺服器回應標頭包含 CloudFront 作為值。對應的存取日誌項目具有 Errorx-edge-detailed-result-type 的值。

當請求被阻止的原因不是 AWS WAF 時,可能會出現 Cloudfront 的相同錯誤消息和回應標頭值。若要確認請求已遭 AWS WAF 封鎖並識別封鎖該請求的規則,請查看 AWS WAF 日誌以瞭解已封鎖的請求。或者,請查看 AWS WAF CloudFront 前端指標以取得相關的 WebACL。然後,檢查 WebACL 以查看被阻止的規則。如需詳細資訊,請參閱測試和調整 AWS WAF 保護

Amazom S3 來源傳回一個 403 錯誤

基於您的 Amazon Simple Storage Service (Amazon S3) 作為來源組態,請參閱下列各項以進行疑難排解:

我正在使用 S3 網站端點作為我的 CloudFront 分發的來源。為什麼會收到「403 存取遭拒」錯誤?

我正在使用 S3 REST API 端點作為我的 CloudFront 分發的來源。為什麼會收到「403 存取遭拒」錯誤?

自訂來源傳回 403 錯誤

由於自訂來源的應用程式防火牆或其他原因,可能導致來源傳回 403 錯誤。如果回應包含不含值 CloudFront 的伺服器標頭,則可能會從自訂來源傳回錯誤。

若要判斷錯誤是否從自訂來源傳回,請檢查原始 HTTP 存取日誌。

如果您無法檢查原始 HTTP 存取日誌,請使用下列疑難排解方法:

  • 檢查 CloudFront 存取日誌。如果已封鎖要求的 time-taken 欄位遠低於 time-taken 欄位的平均值,則回應可能不是來自該來源。time-taken 欄位中的較低值表示已從節點傳送回應。
  • 直接向來源提出請求。如果您可以在不經過 CloudFront 的情況下複製錯誤,則來源可能會傳回 403 錯誤。

錯誤是由已簽署的網址或已簽署的 Cookie 設定所造成

如果您針對 CloudFront 的行為設定開啟了限制檢視器存取權限,則在未使用已簽署 Cookie 或 URL 的情況下提出的要求會導致 403 錯誤。

如需有關設定已簽署 Cookie 和已簽署網址的詳細資訊,請參閱使用已簽署的 URL 和已簽署的 Cookie 提供私人內容

如需疑難排解步驟,請參閱如何疑難排解與 CloudFront 中已簽署網址或已簽署 Cookie 相關的問題?

未針對 HTTP 和 HTTPS 設定含檢視器通訊協定原則的分發

如果 HTTP 要求傳送至僅限 HTTPS 的「檢視者通訊協定原則」設定的分發,則該要求可能會傳回 403 錯誤。

如需詳細資訊,請參閱在檢視者與 CloudFront 之間進行通訊時需要 HTTPS

AWS 官方
AWS 官方已更新 1 年前