我使用 Amazon Simple Storage Service (Amazon S3) 儲存貯體作為 Amazon CloudFront 發行版的來源。但是,我無法存取或下載 Amazon S3 儲存貯體中的檔案。
**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤訊息,請參閱對 AWS CLI 錯誤進行疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本。
如果 CloudFront 傳回 403 拒絕存取錯誤,請根據您的使用案例,請參閱下列其中一篇 AWS 知識中心文章:
如果您的發行版使用了地理限制,請確認您沒有限制請求源自的國家。
Amazon S3 網站端點不支援 HTTPS。如果您使用 AWS CLI、API 或 AWS SDK 來設定 CloudFront 發行版,請確認您沒有在網站端點來源強制執行 HTTPS。
若要檢查您是否使用 HTTPS,請使用 GetDistributionConfig API 或 get-Distribution-Config AWS CLI 命令來取得發行版組態。如果 OriginProtocolPolicy 設定為 https-only,則修改 OriginProtocolPolicy 以使用 http-only。
若要使用 HTTPS,請使用具有 S3 REST API 端點來源的 CloudFront。如需詳細資訊,請參閱可能需要特殊處理的字元。
HTTP GET、POST 和 PUT 請求允許的最大檔案大小為 50 GB。如果檔案大於 50 GB,您會收到 400「BadRequest」錯誤。
如需詳細資訊,請參閱發行版的一般配額。
如果您在 S3 物件金鑰名稱中使用了特殊字元,則可能需要修改字元以符合 API 要求。如需詳細資訊,請參閱物件金鑰命名準則。
即使您在發行版中設定了物件,CloudFront 發行版也不會從子目錄傳回預設根物件。如需詳細資訊,請參閱指定預設根物件。
作為因應措施,您可以使用 Lambda @Edge 從子目錄傳回預設根物件。
對於 Amazon S3 來源,您無法根據主機標頭進行快取或轉送主機標頭。如需詳細資訊,請參閱選取快取所依據的標頭。
若要解決此問題,請參閱如何解決 CloudFront 中的「請求的資源上不存在『Access-Control-Allow-Origin』標頭」錯誤?
對 CloudFront 中的錯誤回應狀態代碼進行疑難排解
Micareo
已提問 2 年前
david
已提問 2 個月前
LumensJeff
Eric
Tim
已發佈 2 年前