ESA以規則為核心,運用至所有的功能規則中,所以您可以通過通用的文法規則來結合不同的子功能來完成規則的配置。
規則群組成
一條ESA的規則通常由規則運算式和規則執行動作兩個部分組成。
規則運算式
表示您對請求的過濾條件。由匹配欄位、匹配運算子以及匹配值組成。在控制台中,如果请求匹配以下规则...的配置地區即對應著規則運算式,預設會為您選擇方便您進行過濾條件的配置。
當然您也可以選擇來應用於所有請求,實現全域配置的效果。

說明
除了使用控制台的圖形化控制項來建立規則運算式,您還可以直接通過編輯運算式來建立。
規則執行動作
表示您想要對滿足過濾條件的請求執行的動作。在控制台中,則執行...的配置地區,您可以使用規則按照不同的功能來進行配置。

多個條件的組合
條件的邏輯組合
在部分情況下,僅通過一個過濾條件可能無法滿足業務需求,因此ESA的規則為您提供了多條子條件的組合功能,其中包括兩種邏輯關係:
說明
單條規則中的內嵌子條件數量與您的套餐類型相關,企業版最多可以支援20條,具體請參見規則內嵌子條件數量。
嵌套層級
ESA的規則支援您在或關係中再嵌套並且關係,即支援最大嵌套深度為2層。例如同時設定過濾條件為:

運算式產生器
除了圖形化方式,ESA還提供運算式產生器,您可以通過代碼來配置規則運算式。
運算式產生預覽
當您使用控制台的圖形控制項配置了規則運算式後,ESA將為您自動產生完全對應的代碼形式的運算式。

單條的運算式符合以下格式:
單條運算式 = (<匹配欄位> <匹配運算子> <匹配值>),如(http.host eq "example-1.com")
嵌套的運算式符合以下格式:
巢狀表格達式 = (<單條運算式1> <嵌套邏輯符> <單條運算式2>),如(http.host eq "example-1.com" and http.host eq "example-2.com")
編輯運算式
您也可以直接通過單擊編輯運算式來進行規則運算式的配置,有關不同子功能的可以支援的類型請參見匹配欄位、匹配運算子以及匹配值。
說明
單條規則條件的大小不超過4K位元組,網站維度上所有的配置資訊限制總大小不超過512K位元組(安全防護中的規則配置除外)。