如何對在 CloudFront 中壓縮檔案時遇到的問題進行疑難排解?

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

我正在使用 Amazon CloudFront 分發來自動提供壓縮物件,但內容未在檢視器中壓縮。在這些情況下,我該如何疑難排解?

解決方案

檢查您的 CloudFront 組態

檢查檢視器的設定

首先,透過 擷取 HTTP 封存 (HAR),取得瀏覽器傳送的詳細請求標頭的相關資訊。然後,確認以下項目:
  • 該請求使用的 HTTP 版本高於 HTTP 1.0。在較低版本的 HTTP 中,CloudFront 移除了 Accept-Encoding 標頭,並且不會壓縮回應中的物件。
  • Accept-Encoding 標頭包含在檢視器要求中,並且包含 gzipbr 值。

確認原始伺服器正在傳回 CloudFront 的回應

如果您可以存取原始伺服器,請檢查原始伺服器正在傳回 CloudFront 的回應。然後,確認以下項目:

  • 原始伺服器未傳回 Content-Encoding 標頭。此標頭指示回應已經過壓縮。
  • 原始伺服器的回應中存在回應 Content-Length (內容長度),並且在 1,000 個位元組至 10,000,000 個位元組的支援範圍內。
  • 檔案類型支援壓縮
  • 回應的 HTTP 狀態碼可以是 200403404

如果您觀察到物件的快取命中,請從快取中將其停用。開啟壓縮映像設定時,CloudFront 不會壓縮已在邊緣站點快取的物件。CloudFront 會在邊緣快取發出請求時,傳回 "X-Cache: Hit from CloudFront" (X-Cache︰從 CloudFront 命中) 回應。


此文章是否有幫助?


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