ESA規則運算式用於根據請求特徵匹配流量並實施差異化策略。本文介紹單條和組合規則運算式的組成要素、運算子分類以及分組符號的使用方法。
注意事項
同一個功能,如果在全域配置和規則上都添加了配置,那麼使用者請求命中規則條件的時候,規則上的配置優先生效。
單條規則配置(規則條件+功能配置)的長度限制為4K字元。
網站維度上所有的配置資訊(包含全域配置、規則配置和認證配置)限制總大小不超過512K字元(安全防護中的規則配置除外)。
規則名稱的長度限制為128字元。
單個過濾條件
簡單業務情境下,單條規則運算式即可覆蓋。單條規則運算式由匹配欄位、匹配運算子以及匹配值組成。在控制台中,如果請求匹配以下規則...的配置地區即對應規則運算式,預設選擇,便於配置過濾條件。
也可以選擇來應用於所有請求,實現全域配置。

除使用控制台圖形化控制項建立規則運算式外,還可以通過運算式產生器直接建立。
多個過濾條件
條件的邏輯組合
當業務情境複雜時,單條過濾條件不足以覆蓋需求,此時ESA規則支援通過邏輯運算子來實現組合多條子過濾條件,包括兩種邏輯關係:
並且關係:單擊
按鈕建立並且關係。例如設定過濾條件為主機名稱等於 www.example.com並且省/地區等於中國內地的規則運算式,參考下圖。或關係:單擊
按鈕建立或關係。例如設定過濾條件為"主機名稱等於 wwww.example.com或者主機名稱等於blog.example.com"的規則運算式,參考下圖。
單條規則的內嵌子條件數量與套餐類型相關,Enterprise最多支援 20 條,詳情請參見產品計費。
嵌套層級
ESA規則支援在或關係中嵌套並且關係,最大嵌套深度為 2 層。ESA的規則引擎通過使用分組運算子來實現運算式的嵌套邏輯。您也可以直接通過運算式編輯器來編寫較為複雜的運算式嵌套邏輯。例如同時設定以下過濾條件:
主機名稱等於
www.example.com的請求。或者主機名稱等於
blog.example.com並且省/地區不在中國內地的請求。或者主機名稱等於
login.example.com的請求。
附加功能
規則運算式還支援使用函數操作和驗證運算式中的值。
運算式產生器
除圖形化方式外,ESA還提供運算式產生器,通過代碼配置規則運算式。
運算式產生預覽
使用控制台圖形控制項配置規則運算式後,ESA自動產生對應的代碼形式運算式。

單條運算式格式如下:
單條運算式 = (<匹配欄位> <匹配運算子> <匹配值>),如( http.host eq "www.example.com")
巢狀表格達式格式如下:
巢狀表格達式 = (<單條運算式 1> <嵌套邏輯符> <單條運算式 2>),如( http.host eq "www.example.com" and http.host eq "blog.example.com")
