使用來自 Edgio 的 Azure CDN 進階版 規則引擎覆寫 HTTP 行為
重要
這是僅限來自 Edgio 的 Azure CDN 進階版 功能,若要從 Microsoft 設定 Azure CDN 上的規則,請使用標準規則引擎。 來自 Akamai 的 Azure CDN 無法使用進階規則。 如需 CDN 功能的完整比較,請參閱 Azure CDN 產品功能。
概觀
Azure CDN 規則引擎可讓您自訂 HTTP 要求的處理方式。 例如,封鎖特定內容類型的傳遞、定義快取原則或修改 HTTP 標頭。 本教學課程示範如何建立規則來變更 CDN 資產的快取行為。 如需規則引擎語法的詳細資訊,請參閱 Azure CDN 規則引擎參考。
存取
若要存取規則引擎,您必須先從 CDN 配置檔頁面頂端選取 [管理],才能存取 Azure CDN 管理頁面。 根據您的端點是否針對動態網站加速優化 (DSA),然後以適合您端點類型的規則集來存取規則引擎:
針對一般 Web 傳遞或其他非 DSA 優化優化的端點:
選取 [ HTTP 大型] 索引標籤,然後選取 [ 規則引擎]。
針對 DSA 優化的端點:
選取 [ADN] 索引標籤,然後選取 [規則引擎]。
ADN 是 Edgio 用來指定 DSA 內容的詞彙。 您在這裡建立的任何規則,會由配置檔中未針對 DSA 優化的端點忽略。
教學課程
從 [ CDN 配置檔] 頁面中,選取 [ 管理] 以開啟 CDN 管理入口網站。
選取 [ HTTP 大型] 索引標籤,然後選取 [ 規則引擎]。
選取 [+ 新增 ] 以建立新的草稿原則。
為原則指定名稱。 選取 [ 繼續],然後選取 [ + 規則]。
重要
列出多個規則的順序會影響規則的處理方式。 後續規則可能會覆寫上一個規則所指定的動作。 例如,如果您有一個規則,允許根據要求屬性存取資源,以及拒絕存取所有要求的規則,第二個規則會覆寫第一個規則。 只有在規則與相同的屬性互動時,規則才會覆寫先前的規則。
在 [ 名稱/ 描述 ] 文字框中輸入名稱。
+選取按鈕,然後選取 [比對] 或 [選取符合邏輯的第一個相符專案]。 要求識別中說明這兩者之間的差異。
識別規則所套用的要求類型。 使用預設比對條件 Always。
若要新增功能,請選取 + 條件語句中的按鈕。
從類別下拉式清單中,選取 [快取]。 然後,從 功能 下拉式清單中,選取 [ 強制內部最大年齡]。 在文字框中,輸入值 300。 將其餘的設定保留為預設值,然後選取 [ 儲存 ] 以完成規則的設定。
注意
下拉式清單中提供多個功能。 如需目前選取功能的相關信息,請選取左側的藍色信息圖示。
針對 強制內部最大年齡,系統會覆寫資產的
Cache-Control
和Expires
標頭,以控制CDN邊緣節點何時從原始來源重新整理資產。 在此範例中,CDN 邊緣節點會在從其來源重新整理資產之前,快取資產 300 秒或 5 分鐘。如需功能的詳細清單,請參閱 規則引擎功能。
選取 [ 鎖定草稿為原則]。 將草稿鎖定為原則之後,您將無法新增或更新該原則內的任何規則。
選取 [ 部署要求]。
如果此 CDN 設定檔不是新的,且沒有先前的規則或生產流量,您可以在下拉功能表中選取環境作為 生產 環境。 輸入環境的描述,然後選取 [ 建立部署要求]。
注意
部署原則之後,傳播大約需要 30 分鐘的時間。 如果您想要新增或更新更多規則,您必須複製目前的規則並部署新的原則。
將規則新增至部署在生產環境中的現有原則
選取部署在生產環境中的原則。
選取 [ 複製 ] 以複製生產環境中現有的原則。
選取鉛筆圖示以編輯現有的規則,或選取 [+ 規則 ] 將新規則新增至原則。
一旦您滿意更新,請遵循上一節中的步驟 10-12 來部署原則。
規則引擎預備環境
預備環境提供沙箱,您可以在其中測試新的CDN設定端對端,而不會影響生產環境。 此設定可讓您將流量透過預備網路復寫至源伺服器。
預備環境是專為功能測試所設計,且規模小於生產CDN環境。 因此,您不應該使用此環境來進行調整、大量或輸送量測試。
流量應保持在每秒 50 Mbps 或 500 個要求之下。
對預備環境所做的變更不會影響您的即時網站環境。
使用預備環境測試 HTTPS 流量會導致 TLS 憑證不符。
測試機制:
將草稿鎖定至原則之後,請選取 [ 部署要求]。 選取環境作為 預備 環境,然後選取 [ 建立部署要求]。
編輯本機主機檔案,為您的端點或自定義網域建立 A 記錄。
檢查瀏覽器中自定義網域的測試資產,並在不使用 HTTPS 的情況下繼續進行。
注意
在預備環境中部署原則之後,傳播需要 15 分鐘的時間。