你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

教程:配置规则引擎

适用于: ✔️ Front Door (经典)

Important

Azure Front Door(经典版)不支持配置文件创建、新域名接入或托管证书,并将于2027年3月31日停用。 为了避免服务中断,迁移到 Azure Front Door Standard 或 Premium。 有关更多信息,请参阅 Azure Front Door(经典)停用计划

本教程介绍如何在 Azure 门户和 CLI 中均创建规则引擎配置和第一个规则。

在本教程中,你将了解如何执行以下操作:

  • 使用门户配置规则引擎。
  • 使用 Azure CLI 配置规则引擎。

Prerequisites

在 Azure 门户中配置规则引擎

  1. 在你的 Azure Front Door(经典)资源中,选择左侧菜单中的设置下的规则引擎配置。 选择 “+ 添加”,输入配置的名称,并开始创建第一个规则引擎配置。

  2. 输入第一个规则的名称。 然后,选择“+ 添加条件”或“+ 添加操作”来定义规则。

    Note

    • 若要从规则中删除某个条件或操作,请使用相应条件或操作右侧的垃圾桶图标。
    • 若要创建适用于所有传入流量的规则,请不要指定任何条件。
    • 若要在满足第一个匹配条件后停止对规则进行评估,请选中“停止评估剩余规则”。 如果满足此条件,则不会执行配置中的剩余规则。
    • 规则引擎配置中的所有路径都区分大小写。
    • 标头名称应遵循 RFC 7230
  3. 使用 “上移”、“ 下移”和 “移动到顶部 ”按钮来确定配置中规则的优先级。 优先级按升序排序,即首先列出的规则是最重要的规则。

    Tip

    如果要验证更改何时传播到Azure Front Door(经典),可以使用以下示例在规则中创建自定义响应标头。 可以添加响应头 _X-<RuleName>-Version_ 并在每次规则更新时更改值。

    自定义版本标头规则的屏幕截图。 在更新了这些更改之后,可以转到 URL 以确认所调用的规则版本:自定义标头版本输出的屏幕截图。

  4. 创建一个或多个规则时,选择“ 保存”。 此操作将创建您的规则引擎的配置。

  5. 创建规则引擎配置后,将配置与路由规则相关联。 可以将单个配置应用于多个路由规则,但路由规则只能有一个规则引擎配置。 若要关联配置,请转到“Azure Front Door(经典)设计器”并选择“路由”。 然后选择要与路由规则关联的“规则引擎配置”。

    路由规则页面中关联的规则引擎配置的屏幕截图。

在 Azure CLI 中配置规则引擎

  1. 安装 Azure CLI 并添加“front-door”扩展:

    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
    

有关详细信息,请参阅 Azure Front Door(经典)规则引擎命令的完整列表。

清理资源

若要从经典版 Front Door 中删除规则引擎配置,请执行以下操作:

  1. 选择规则引擎名称旁边的三个点,然后选择 “关联路由规则 ”以取消与规则引擎配置关联的任何路由规则:

  2. 取消勾选与此规则引擎配置关联的所有路由规则,然后选择保存

  3. 从 Front Door 中删除规则引擎配置:

    删除规则引擎配置

后续步骤

在本教程中,你了解了如何执行以下操作:

  • 创建规则引擎配置
  • 将配置关联到路由规则

若要了解如何使用规则引擎添加安全标头,请继续学习下一教程。