教學課程:設定規則引擎

重要

Azure Front Door(傳統版)將於 2027 年 3 月 31 日淘汰。 為了避免任何服務中斷,請務必在 2027 年 3 月之前將 Azure Front Door (傳統) 配置檔移轉至 Azure Front Door Standard 或 進階版 層。 如需詳細資訊,請參閱 Azure Front Door(傳統版)淘汰

本教學課程說明如何在 Azure 入口網站 和 CLI 中建立規則引擎組態和您的第一個規則。

在本教學課程中,您會了解如何:

  • 使用入口網站設定規則引擎。
  • 使用 Azure CLI 設定規則引擎

必要條件

在 Azure 入口網站 中設定規則引擎

  1. 在 Front Door (傳統) 資源內,從左側功能表窗格的 [設定] 底下選取 [規則引擎組態]。 選取 [+ 新增],為您的設定指定名稱,並開始建立您的第一個規則引擎設定。

    Front Door 概觀頁面中規則引擎設定的螢幕快照。

  2. 輸入第一個規則的名稱。 然後選取 [+ 新增條件 ] 或 [+ 新增動作 ] 來定義您的規則。

    注意

    • 若要從規則中刪除條件或動作,請使用特定條件或動作右側的垃圾桶。
    • 若要建立適用於所有連入流量的規則,請勿指定任何條件。
    • 若要在符合第一個比對條件后停止評估規則,請檢查 [停止評估剩餘規則]。 如果核取此選項,且符合特定規則的所有比對條件,則不會執行組態中的其餘規則。
    • 規則引擎組態中的所有路徑都會區分大小寫。
    • 標頭名稱應遵守 RFC 7230

    具有單一規則的規則引擎組態頁面螢幕快照。

  3. 使用 [上移]、[下移] 和 [移至頂端] 按鈕,決定設定中規則的優先順序。 優先順序會以遞增順序排列,這表示第一個列出的規則是最重要的規則。

    提示

    如果您想要確認變更何時傳播至 Azure Front Door,您可以使用下列範例在規則中建立自定義響應標頭。 您可以新增回應標頭 _X-<RuleName>-Version_,並在每次更新規則時變更值。

    自訂版本標頭規則的螢幕快照。 更新變更之後,您可以移至 URL 以確認所叫用的規則版本:自訂標頭版本輸出的螢幕快照。

  4. 建立一或多個規則之後,請選取 [ 儲存]。 此動作會建立規則引擎組態。

  5. 建立規則引擎組態之後,您可以將設定與路由規則產生關聯。 單一組態可以套用至多個路由規則,但路由規則只能有一個規則引擎設定。 若要建立設定的關聯,請移至 Front Door 設計工具 ,然後選取 [路由]。 然後選取 [ 規則引擎組態 ] 以與路由規則產生關聯。

    來自路由規則頁面的規則引擎組態關聯螢幕快照。

在 Azure CLI 中設定規則引擎

  1. 安裝 Azure CLI。 新增 “front-door” extension:- az extension add --name front-door。 然後,登入並切換至您的訂用帳戶 az account set --subscription <name_or_Id>。

  2. 從建立規則引擎開始 - 此範例會顯示一個規則,其中包含一個標頭式動作和一個比對條件。

    az network front-door rules-engine rule create -f {front_door} -g {resource_group} --rules-engine-name {rules_engine} --name {rule1} --priority 1 --action-type RequestHeader --header-action Overwrite --header-name Rewrite --header-value True --match-variable RequestFilenameExtension --operator Contains --match-values jpg png --transforms Lowercase
    
  3. 列出所有規則。

    az network front-door rules-engine rule list -f {front_door} -g {rg} --name {rules_engine}
    
  4. 新增轉送路由覆寫動作。

    az network front-door rules-engine rule action add -f {front_door} -g {rg} --rules-engine-name {rules_engine} --name {rule1} --action-type ForwardRouteOverride --backend-pool {backend_pool_name} --caching Disabled
    
  5. 列出規則中的所有動作。

    az network front-door rules-engine rule action list -f {front_door} -g {rg} -r {rules_engine} --name {rule1}
    
  6. 將規則引擎組態連結至路由規則。

    az network front-door routing-rule update -g {rg} -f {front_door} -n {routing_rule_name} --rules-engine {rules_engine}
    
  7. 取消連結規則引擎。

    az network front-door routing-rule update -g {rg} -f {front_door} -n {routing_rule_name} --remove rulesEngine # case sensitive word ‘rulesEngine’
    

如需詳細資訊,請參閱 Azure Front Door (傳統) 規則引擎命令的完整清單

清除資源

在上述步驟中,您已設定和相關聯的規則引擎組態至路由規則。 如果您不再需要與 Front Door 相關聯的規則引擎設定(傳統版),您可以執行下列步驟來移除設定:

  1. 選取規則引擎名稱旁的三個點,然後選取 [建立路由規則關聯] 規則,以解除規則引擎組態的任何路由規則的關聯。

    功能表關聯路由規則的螢幕快照。

  2. 取消核取此規則引擎設定與此規則引擎設定相關聯的所有路由規則,然後選取 [儲存]。

    路由規則關聯

  3. 現在您可以從 Front Door 刪除規則引擎組態。

    刪除規則引擎設定

下一步

在本教學課程中,您已了解如何:

  • 建立規則引擎組態
  • 將組態與路由規則產生關聯。

若要瞭解如何使用規則引擎新增安全性標頭,請繼續進行下一個教學課程。