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

教程:配置规则引擎

重要

Azure Front Door(经典版)将于 2027 年 3 月 31 日停用。 为了避免任何服务中断,请务必在 2027 年 3 月之前将 Azure Front Door(经典版)配置文件迁移到 Azure Front Door 标准层或高级层。 有关详细信息,请参阅 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”扩展:- 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 中的规则引擎配置。

    删除规则引擎配置

后续步骤

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

  • 创建规则引擎配置
  • 将配置关联到传递规则。

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