共用方式為


來自 Edgio 進階版 規則引擎參考的 Azure 內容傳遞網路

本文列出 Azure 內容傳遞網路 規則引擎可用比對條件和功能的詳細描述。

規則引擎的設計目的是要成為內容傳遞網路處理特定要求類型的最終授權單位。

常見用法

  • 覆寫或定義自定義快取原則。
  • 保護或拒絕敏感性內容的要求。
  • 重新導向要求。
  • 儲存自訂記錄數據。

重要概念

本文說明設定規則引擎的重要概念。

草稿

原則草稿包含一或多個規則,這些規則旨在識別要求,以及套用至這些規則的一組動作。 草稿是進行中的工作,可允許頻繁的設定更新,而不會影響月臺流量。 一旦草稿準備好完成,就應該轉換成只讀原則。

規則

規則可識別一或多種類型的要求,以及將對其套用的一組動作。

它包含:

  • 一組條件運算式,可定義用來識別要求的邏輯。
  • 一組比對條件,可定義用來識別要求的準則。
  • 一組功能,定義內容傳遞網路如何處理上述要求。 這些項目會在下圖中識別。

卷標的螢幕快照顯示條件表達式、比對和規則的功能。

原則

原則是由一組唯讀規則所組成,可用來:

  • 建立、儲存及管理多種規則版本。
  • 復原為先前部署的版本。
  • 事先準備事件特定規則 (例如,因客戶來源維護而重新導向流量的規則)。

注意

雖然每個環境只允許單一原則,但可能會視需要部署原則。

部署要求

部署要求提供簡單且簡化的程式,可透過此程式將原則快速套用至預備或生產環境。 提供部署要求的歷程記錄,以協助追蹤套用至這些環境的變更。

注意

只有未通過自動化驗證和錯誤偵測系統的要求,才需要手動檢閱和核准。

規則優先順序

原則中包含的規則通常會依照列出的順序進行處理(例如,由上而下)。 如果要求符合衝突的規則,則會優先使用最後一個要處理的規則。

原則部署工作流程

原則可套用至生產環境或預備環境的工作流程,如下所示。

原則部署工作流程

步驟 描述
建立草稿 草稿包含一組規則,定義內容傳遞網路處理內容要求的方式。
鎖定草稿 完成草稿之後,應該將其鎖定並轉換成只讀原則。
提交部署要求
部署要求可讓原則套用至測試或生產流量。

將部署要求提交至預備環境或生產環境。
部署要求檢閱
部署要求會進行自動化驗證和錯誤偵測。

雖然大部分的部署要求都會自動核准,但更複雜的原則需要手動檢閱。
原則部署(預備
在核准部署要求至預備環境時,原則會套用至預備環境。 此環境可讓原則針對模擬網站流量進行測試。

一旦原則準備好套用至實時網站流量,應該提交生產環境的新部署要求。
原則部署(生產環境) 核准將部署要求套用至生產環境時,原則會套用至生產環境。 此環境可讓原則作為決定內容傳遞網路應如何處理即時流量的最終授權單位。

語法

處理特殊字元的方式會根據比對條件或功能處理文字值的方式而有所不同。 比對條件或功能可能會以下列其中一種方式解譯文字:

常值

解譯為常值的文字會將除 % 符號以外的所有特殊字元視為必須比對之值的一部分。 換句話說,只有在找到該確切值時,\'*'\才會滿足設定為 \'*'\ 的常值比對條件。

百分比符號用來表示 URL 編碼方式(例如 , %20)。

通配符值

解譯為通配符值的文字會將額外的意義指派給特殊字元。 下表描述如何解譯下列字元集:

字元 描述
\ 反斜杠可用來逸出此數據表中指定的任何字元。 反斜杠必須在應逸出的特殊字元之前直接指定。
例如,下列語法會逸出星號: \*
% 百分比符號用來表示 URL 編碼方式(例如 , %20)。
* 星號是代表一或多個字元的通配符。
Space 空格字元表示指定的值或模式符合比對條件。
'value' 單引號沒有特殊意義。 不過,會使用一組單引號來表示值應該視為常值。 使用方式如下:

- 每當指定的值符合比較值的任何部分時,即可滿足比對條件。 例如, 'ma' 會比對下列任何一個字串:

/business/marathon/asset.htm
map.gif
/business/template。map

- 它允許將特殊字元指定為常值字元。 例如,您可以藉由將空格字元括在一組單引號中來指定常值空格字元(也就是 ' ''sample value')。
- 允許指定空白值。 藉由指定一組單引號來指定空白值(也就是 '')。

重要:
- 如果指定的值不包含通配符,則會自動將它視為常值,這表示不需要指定一組單引號。
- 如果反斜杠未逸出此數據表中的另一個字元,則會在單引號集合內指定時予以忽略。
- 將特殊字元指定為常值字元的另一種方式是使用反斜杠逸出它(也就是 \)。

規則運算式

正則表達式會定義在文字值內搜尋的模式。 正則表達式表示法會定義各種符號的特定意義。 下表指出特殊字元如何透過支援正則表達式的條件和功能來處理。

特殊字元 描述
\ 反斜杠會逸出後面的字元,這會導致該字元被視為常值,而不是採用其正則表達式意義。 例如,下列語法會逸出星號: \*
% 百分比符號的意義取決於其使用方式。

%{HTTPVariable}:此語法會識別 HTTP 變數。
%{HTTPVariable%Pattern}:此語法會使用百分比符號來識別 HTTP 變數,並做為分隔符。
\%:逸出百分比符號可讓它當做常值或表示 URL 編碼(例如 , \%20)。
* 星號可讓上述字元比對零次或多次。
Space 空格元通常被視為常值字元。
'value' 單引號會被視為常值字元。 一組單引號沒有特殊意義。

比對支援正則表達式的條件和功能會接受 Perl 相容正則表示式 (PCRE) 所定義的模式。

下一步