你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure Front Door 中的规则集是什么?
规则集是一个自定义规则引擎,它将各种规则组合成一个单一的集。 可以将一个规则集与多个路由相关联。 规则集允许你自定义如何在 Azure Front Door 边缘上处理请求。
常见的支持方案
实施安全性标头,以防止基于浏览器的漏洞攻击,例如 HTTP Strict-Transport-Security (HSTS)、X-XSS-Protection、Content-Security-Policy、X-Frame-Options 以及用于跨域资源共享 (CORS) 方案的 Access-Control-Allow-Origin 标头。 基于安全性的属性也可以用 Cookie 来定义。
基于客户端设备类型,将请求路由到应用程序的移动或桌面版本。
使用重定向功能将 301、302、307 和 308 重定向返回到客户端,以定向到新的主机名、路径、查询字符串或协议。
基于传入请求动态修改路由的缓存配置。
重写请求 URL 路径,并将请求转发到配置的源组中的相应源。
添加、修改或删除请求/响应标头以隐藏敏感信息或通过标头捕获重要信息。
支持使用服务器变量来动态更改请求头、响应头或 URL 重写路径/查询字符串。 例如,在加载新页面或发布表单时。 服务器变量目前仅在规则集操作中受支持。
体系结构
规则集在 Front Door 边缘上处理请求。 当请求到达 Front Door 终结点时,首先会处理 WAF(Web 应用程序防火墙),然后处理路由中配置的设置。 这些设置包括与路由关联的规则集。 规则集按照它们在路由配置下显示的顺序进行处理。 规则集中的规则也按照它们的显示顺序进行处理。 若要运行每个规则中的所有操作,必须满足规则中的所有匹配条件。 如果请求与规则集配置中的任何条件都不匹配,则只会应用默认路由设置。
如果选择了“停止评估剩余规则”,则不会运行与路由关联的任何剩余规则集。
示例
在下图中,首先会处理 WAF 策略。 然后,规则集配置将追加一个响应头。 如果满足匹配条件,则该头将更改缓存控制机制的最大期限。
术语
使用 Front Door 规则集,可以创建任意的配置组合,每个组合由一组规则构成。 下面概述了在配置规则集时会遇到的一些有用术语。
规则集:与一个或多个路由关联的一组规则。
规则集规则:由最多 10 个匹配条件和 5 个操作组成的规则。 规则对规则集而言是本地的,无法将其导出以在其他规则集中使用。 可以在不同的规则集中创建相同的规则。
匹配条件:可以配置许多匹配条件来分析传入请求。 一个规则最多可包含 10 个匹配条件。 将使用 AND 运算符来评估匹配条件。 条件中支持正则表达式。 可以在规则集匹配条件中找到匹配条件的完整列表。
操作:操作指示 Front Door 如何根据匹配条件处理传入请求。 可以修改高速缓存行为,修改请求头/响应头,设置 URL 重写和 URL 重定向。 操作支持服务器变量。 一个规则最多可以包含五个操作。 可以在规则集操作中找到操作的完整列表。
ARM 模板支持
规则集可以使用 Azure 资源管理器模板进行配置。 有关示例,请参阅具有规则集的 Front Door 标准/高级版。 你可以通过使用匹配条件和操作文档示例中包含的 JSON 或 Bicep 代码片段来自定义行为。
限制
有关配额限制的信息,请参阅 Front Door 限制、配额和约束。
后续步骤
- 了解如何创建 Azure Front Door 配置文件。
- 了解如何配置第一个规则集。
重要
Azure Front Door(经典版)将于 2027 年 3 月 31 日停用。 为了避免任何服务中断,请务必在 2027 年 3 月之前将 Azure Front Door(经典版)配置文件迁移到 Azure Front Door 标准层或高级层。 有关详细信息,请参阅 Azure Front Door(经典版)停用。
规则引擎配置允许自定义如何在 Front Door 边缘上处理 HTTP 请求,并为 Web 应用程序提供受控的行为。 Azure Front Door(经典)的规则引擎包含几个关键功能,例如:
- 强制执行 HTTPS,确保所有最终用户都能够通过安全连接与内容进行交互。
- 实施安全性标头,以防止基于浏览器的漏洞攻击,例如 HTTP Strict-Transport-Security (HSTS)、X-XSS-Protection、Content-Security-Policy、X-Frame-Options 以及用于跨域资源共享 (CORS) 方案的 Access-Control-Allow-Origin 标头。 基于安全性的属性也可以用 Cookie 来定义。
- 基于请求标头内容、Cookie 或查询字符串的模式,将请求路由到应用程序的移动或桌面版本。
- 使用重定向功能将 301、302、307 和 308 重定向返回到客户端,以定向到新的主机名、路径或协议。
- 基于传入请求动态修改路由的缓存配置。
- 重写请求 URL 路径,并将请求转接到配置的后端池中的相应后端。
体系结构
规则引擎在边缘处理请求。 当请求进入 Azure Front Door(经典)终结点时,首先会处理 WAF,然后处理与前端域关联的规则引擎配置。 如果已处理规则引擎配置,则表示找到了匹配条件。 若要处理每个规则中的所有操作,必须满足规则中的所有匹配条件。 如果请求与规则引擎配置中的任何条件都不匹配,则处理默认路由配置。
例如,在下图中,规则引擎配置为追加响应头。 如果请求文件的扩展名为 .jpg,则该头会更改缓存控制机制的最大期限。
在这第二个示例中可以看到,规则引擎配置为在请求方设备的类型为“移动”时,将用户重定向到移动版网站。
在这两个示例中,当不满足任何匹配条件时,会处理指定的路由规则。
术语
在 Azure Front Door(经典)中,可以创建规则引擎配置的许多组合,每个组合由一组规则构成。 下面概述了在配置规则引擎时会遇到的一些有用术语。
- 规则引擎配置:应用于单个路由的一组规则。 每个配置限制为 25 个规则。 最多可以创建 10 个配置。
- 规则引擎规则:由最多 10 个匹配条件和 5 个操作组成的规则。
- 匹配条件:可以利用许多匹配条件来分析传入请求。 一个规则最多可包含 10 个匹配条件。 将使用 AND 运算符来评估匹配条件。 有关匹配条件的完整列表,请参阅规则匹配条件。
- 操作:操作规定如何处理传入请求 - 目前,请求/响应标头操作、转发、重定向和重写都是可以使用的操作。 一个规则最多可包含 5 个操作;但是,一个规则只能包含 1 个路由配置替代。 有关操作的完整列表,请参阅规则操作。
后续步骤
- 了解如何配置第一个规则引擎配置。
- 了解如何创建 Azure Front Door(经典)配置文件。
- 了解 Azure Front Door(经典)路由体系结构。