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

教程:配置规则引擎

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

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

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

先决条件

在 Azure 门户中配置规则引擎

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

    Azure Front Door 概述页面中的规则引擎配置的屏幕截图。

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

    注意

    • 若要从规则中删除某个条件或操作,请使用相应条件或操作右侧的垃圾桶图标。
    • 若要创建适用于所有传入流量的规则,请不要指定任何条件。
    • 若要在满足第一个匹配条件后停止对规则进行评估,请选中“停止评估剩余规则”。 如果选中了此规则,且满足特定规则的所有匹配条件,那么配置中的剩余规则将不会执行。
    • 规则引擎配置中的所有路径都区分大小写。
    • 标头名称应遵循 RFC 7230

    具有单个规则的规则引擎配置页的屏幕截图。

  3. 使用“上移”、“下移”和“移至顶部”按钮来确定配置中的规则的优先级。 优先级按升序排序,即首先列出的规则是最重要的规则。

    提示

    如果要验证将更改传播到 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 中删除规则引擎配置:

    删除规则引擎配置

后续步骤

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

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

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