分享方式:


使用快取規則控制 Azure 內容傳遞網路快取行為

重要

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

來自 Edgio 的 Azure CDN 將於 2025 年 11 月 4 日淘汰。 您必須在此 日期之前將工作負載 移轉至 Azure Front Door,以避免服務中斷。 如需詳細資訊,請參閱來自Edgio的 Azure CDN 淘汰常見問題

本文說明如何使用內容傳遞網路快取規則來設定或修改預設快取到期行為。 這些快取規則可以是全域或自訂條件,例如 URL 路徑和副檔名。

注意

快取規則僅適用於「來自 Edgio 的 Azure CDN 標準」設定檔。 針對來自 Microsoft 的 Azure CDN 設定檔,您必須使用標準規則引擎。針對來自 Edgio 的 Azure CDN 進階設定檔,您必須使用 [管理] 入口網站中的 Edgio 進階規則引擎來執行類似功能。

Azure 內容傳遞網路提供兩種方式來控制檔案的快取方式:

快取規則:Azure 內容傳遞網路提供兩種類型的快取規則:全域和自訂。

  • 全域快取規則 - 您可以針對設定檔中的每個端點設定一個全域快取規則,這會影響針對端點的所有要求。 全域快取規則會覆寫任何 HTTP 快取指示詞標頭 (如果已設定)。

  • 自訂快取規則 - 您可以針對設定檔中的每個端點設定一或多個自訂快取規則。 自訂快取規則會比對特定路徑和副檔名、會依序處理,並會覆寫全域快取規則 (如果已設定)。

查詢字串快取:您可以調整 Azure 內容傳遞網路如何使用查詢字串來處理要求的快取。 如需詳細資訊,請參閱使用查詢字串控制 Azure 內容傳遞網路快取行為。 如果檔案無法快取,則查詢字串快取設定會根據快取規則和內容傳遞網路預設行為而沒有作用。

如需預設快取行為和快取指示詞標頭的相關資訊,請參閱快取如何運作

存取 Azure 內容傳遞網路快取規則

  1. 開啟 Azure 入口網站,選取內容傳遞網路設定檔,然後選取端點。

  2. 在左窗格的 [設定] 下方,選取 [快取規則]

    內容傳遞網路快取規則的螢幕擷取畫面。

    [快取規則] 頁面隨即出現。

    內容傳遞網路快取規則頁面的螢幕擷取畫面。

快取行為設定

針對全域和自訂快取規則,您可以指定下列快取行為設定:

  • 略過快取:不要快取並忽略原始提供的快取指示詞標頭。

  • 覆寫:忽略原始提供的快取持續時間,改用提供的快取持續時間。 此設定不會覆寫快取控制:無快取。

注意

針對 Microsoft 的 Azure CDN 設定檔,快取到期覆寫僅適用於狀態碼 200 和 206。

  • 缺少時才設定:如果原始提供的快取指示詞標頭存在,就優先採用它們;否則,使用提供的快取持續時間。

全域快取規則

自訂快取規則

快取到期期間

針對全域和自訂快取規則,您能以天數、小時數、分鐘數和秒數來指定快取到期期間:

  • 針對 [覆寫] 和 [缺少時才設定]快取行為設定,有效快取持續時間的範圍介於 0 秒到 366 天。 若值為 0 秒,內容傳遞網路會快取內容,但必須向原始伺服器重新驗證每個要求。

  • 針對 [略過快取] 設定,快取持續時間會自動設為 0 秒,此為無法修改的值。

自訂快取規則比對條件

針對自訂快取規則,有兩個可用的比對條件:

  • 路徑:這個條件會比對 URL 的路徑,排除網域名稱,並支援萬用字元符號 (*)。 例如,/myfile.html/my/folder/* 和 /my/images/.jpg。 長度上限是 260 個字元。

  • 副檔名:這個條件會比對所要求檔案的副檔名。 您可以提供一份要比對的副檔名清單 (以逗號分隔)。 例如,.jpg.mp3.png。 副檔名的個數上限是 50,且每個副檔名的最大字元數目為 16。

全域和自訂規則處理順序

全域和自訂快取規則會依下列順序處理:

  • 全域快取規則的優先順序高於預設的內容傳遞網路快取行為 (HTTP 快取指示詞標頭設定)。

  • 自訂快取規則的優先順序高於全域快取規則 (在其適用處)。 自訂快取規則的處理順序為從上而下。 也就是說,如果要求符合這兩個條件,位於清單底部之規則的優先順序會高於位於清單頂端的規則。 因此,您應該將更特定的規則置於清單的較低處。

範例:

  • 全域快取規則:

    • 快取行為:覆寫
    • 快取到期期間:一天
  • 自訂快取規則 #1:

    • 比對條件:路徑
    • 比對值:/home/*
    • 快取行為:覆寫
    • 快取到期期間:兩天
  • 自訂快取規則 #2:

    • 比對條件:副檔名
    • 比對值:.html
    • 快取行為:缺少時才設定
    • 快取到期期間:三天

當您設定這些規則時,針對 <endpoint hostname>.azureedge.net/home/index.html 的要求就會觸發自訂快取規則 #2,其會設定為:缺少時才設定和 3 天。 因此,如果 index.html 檔案具有 Cache-ControlExpires HTTP 標頭,則會優先予以採用;否則,如果未設定這些標頭,就會將檔案快取三天。

注意

在規則變更之前快取的檔案會維持其原始的快取持續時間設定。 若要重設它們的快取持續時間,您必須清除檔案

Azure 內容傳遞網路設定變更會需要一些時間才能傳播至整個網路:

  • 若為來自 Edgio 的標準 Azure CDN 設定檔,則通常會在 10 分鐘內完成傳播。

另請參閱