共用方式為


針對 Azure 內容傳遞網路檔案壓縮進行疑難解答

重要

Microsoft (傳統) 的 Azure 標準 CDN 將於 2027 年 9 月 30 日淘汰。 為了避免任何服務中斷,請務必在 2027 年 9 月 30 日之前將您的 Microsoft (傳統) 的 Azure 標準 CDN 設定檔移轉到 Azure Front Door 標準或進階層。 如需詳細資訊,請參閱 Microsoft (傳統) 的 Azure 標準 CDN 淘汰

這篇文章可協助您針對 CDN 檔案壓縮的問題進行疑難排解。

如果在本文章中有任何需要協助的地方,您可以連絡 MSDN Azure 和 Stack Overflow 論壇上的 Azure 專家。 或者,您也可以提出 Azure 支援事件。 請移至 Azure 支援網站,然後選取 [取得支援]

徵兆

已為您的端點啟用壓縮,但會傳回未壓縮的檔案。

提示

若要檢查傳回的檔案是否會壓縮,您需要使用 Fiddler 之類的工具或您瀏覽器的開發人員工具。 檢查隨快取的內容傳遞網路內容傳回的 HTTP 回應標頭。 如果名為 Content-Encoding 的標頭具有 gzipbzip2brotlideflate 值,則會壓縮內容。

Content-Encoding 標頭

原因

有幾個可能的原因,包括︰

  • 要求的內容不適合進行壓縮。
  • 要求的檔案類型未啟用壓縮。
  • HTTP 要求未包含要求有效壓縮類型的標頭。
  • 原點正在傳送區塊內容。

疑難排解步驟

提示

隨著新端點的部署,內容傳遞網路組態變更會需要一些時間才能傳播至整個網路。 變更通常會在 90 分鐘內套用。 如果這是您第一次設定內容傳遞網路端點壓縮,您應該考慮先等候 1-2 小時,確定壓縮設定已傳播至 POP。

驗證要求

首先,我們應該對要求進行快速的例行性檢查。 您可以使用瀏覽器的開發人員工具來檢視所做的要求。

  • 驗證要求正傳送至您的端點 URL <endpointname>.azureedge.net,而不是您的來源。
  • 驗證要求包含 Accept-Encoding 標頭,且該標頭的值包含 gzipdeflatebrotlibzip2

CDN 要求標頭

驗證壓縮設定 (標準 CDN 設定檔)

注意

如果您的 CDN 設定檔是來自 Microsoft 的標準 Azure CDN來自 Edgio 的標準 Azure CDN 設定檔,才能套用此步驟。

Azure 入口網站中瀏覽至您的端點,然後選取 [設定] 按鈕。

  • 驗證已啟用壓縮。
  • 驗證要壓縮之內容的 MIME 類型已包含在壓縮格式清單中。

CDN 壓縮設定

驗證壓縮設定 (進階 CDN 設定檔)

注意

如果您的 CDN 設定檔是 來自 Edgio 的進階 Azure CDN 設定檔,才能套用此步驟。

Azure 入口網站中瀏覽至您的端點,然後選取 [管理] 按鈕。 即會開啟補充入口網站。 將滑鼠移至 [HTTP 大型] 索引標籤上,然後將滑鼠移至 [快取設定] 飛出視窗上。 選取 [壓縮]

  • 驗證已啟用壓縮。
  • 驗證 [檔案類型] 清單包含以逗號分隔 (無空格) 的 MIME 類型清單。
  • 驗證要壓縮之內容的 MIME 類型已包含在壓縮格式清單中。

CDN 進階壓縮設定

驗證已快取內容 (Edgio CDN 設定檔)

注意

如果您的 CDN 設定檔是來自 Edgio 的標準 Azure CDN來自 Edgio 的進階 Azure CDN 設定檔,才能套用此步驟。

使用您瀏覽器的開發人員工具,檢查回應標頭以確保檔案會快取在要求它的區域中。

  • 檢查 Server 回應標頭。 標頭應該具有格式 平台 (POP/伺服器識別碼),如下列範例所示。
  • 檢查 X-Cache 回應標頭。 標頭應為 HIT

CDN 回應標頭

驗證檔案符合大小需求 (Edgio CDN 設定檔)

注意

如果您的 CDN 設定檔是來自 Edgio 的標準 Azure CDN來自 Edgio 的進階 Azure CDN 設定檔,才能套用此步驟。

若要進行壓縮,檔案必須符合下列的大小需求︰

  • 大於 128 個位元組 (Content-Length:128)
  • 小於 3 MB

在原始伺服器中檢查要求的 Via 標頭

Via HTTP 標頭會向 Web 伺服器指出正在由 Proxy 伺服器傳遞要求。 Microsoft IIS Web 伺服器預設不會在要求包含 Via 標頭時壓縮回應。 若要覆寫這個行為,請執行下列作業︰