Front Door 的创建和配置

已完成

Front Door 具有许多组件,这些组件组合在一起,可加速对 Web 应用程序的请求,同时在全球范围内保持高可用性。 让我们看看构成 Front Door 服务的不同组件,了解它们如何在路由最终用户的请求方面发挥作用。

Diagram of Azure Front Door components in a flow chart.

终结点

终结点是与域关联的一个或多个路由和安全策略的逻辑分组。 标准层或高级层配置文件可以支持多个终结点。

路由

Front Door 传递规则确定在到达 Front Door 边缘后每个请求的处理方式。 路由包含用于将域和 URL 路径映射到特定源组的信息。 在路由中,可以配置用于转发到源的请求的协议。 还可以启用缓存,以便更快地响应频繁请求的内容,并设置规则集来处理特定请求类型。

来源

源是一个应用程序部署,当缓存不可用时,Azure Front Door 会从该部署检索内容。 Front Door 支持托管在 Azure、本地和另一个云中的源。 定义源时,需要指定类型、主机名、主机标头、证书使用者名称验证、优先级和权重。 定义这些字段有助于 Front Door 确定最适合响应传入请求的源资源。

源组

源组是一组从其应用程序接收类似流量的源。 此应用程序逻辑分组可位于同一区域,也可位于不同区域。 默认情况下,请求会发送到延迟最低的源。 此行为可通过修改源组中每个源的优先级和权重来更改。 还可在源组中启用会话关联,以确保来自同一用户的所有请求都发送到同一源资源。

规则引擎

规则集是一个自定义规则引擎,它将各种规则组合成一个单一的集。 规则集可以与多个路由相关联。 在将请求转发到源之前,这些规则在 Front Door 边缘进行处理。 每条规则最多可以有 10 个匹配条件和 5 个操作。

规则匹配条件

匹配条件确定了请求应采取的特定操作类型。 在一条规则中使用多个匹配条件时,这些条件会使用 AND 逻辑组合在一起。

可以在规则集中找到以下类型的匹配条件:

  • 基于特定的 IP 地址、端口或国家/地区来筛选请求。
  • 按标头信息筛选请求。
  • 筛选来自移动设备或桌面设备的请求。
  • 根据请求文件名和文件扩展名筛选请求。
  • 按主机名、SSL 协议、请求 URL、协议、路径、查询字符串、post 参数和其他值来筛选请求。

规则操作

操作是当请求类型与条件匹配时应用于请求类型的行为。 以下是请求与条件匹配后当前可以执行的操作:

  • 路由配置替代 - 替代要用于请求的源组或缓存配置。
  • 修改请求标头 - 追加、覆盖或删除发送到源的请求中的标头值。
  • 修改响应标头 - 在响应中的标头值发送回客户端之前对其执行追加、覆盖或删除操作。
  • URL 重定向 - 将客户端重定向到不同的 URL。 Front Door 发送响应。
  • URL 重写 - 重写要发送到源的请求的路径。

安全策略

Front Door 支持 Web 应用程序防火墙 (WAF) 策略和规则。 Front Door 配置文件中的安全策略包含多个 WAF 策略,这些策略可用于配置文件中的不同域。 WAF 规则可保护 Web 服务免受常见漏洞攻击,例如 SQL 注入、跨站脚本、Java 攻击等。 Front Door 上的 WAF 目前支持以下功能:

  • 策略设置 - 可通过一组自定义规则和托管规则来控制对 Web 应用程序的访问。
  • 管理规则 - 可轻松针对一组常见的安全威胁来部署保护。 由 Azure 管理规则集,因此这些规则会根据需要进行更新以防范新的攻击签名。
  • 自定义规则 - 可根据定义的条件来控制对 Web 应用程序的访问。 自定义 WAF 规则由优先级编号、规则类型、匹配条件和操作组成。
  • - 可省略 WAF 评估中的某些请求属性,并允许正常处理请求的其余属性。
  • 地区筛选 - 可按国家/地区限制对 Web 应用程序的访问。
  • 机器人防护 - 提供机器人规则来识别好机器人并防止坏机器人。
  • IP 限制 - 可通过指定 IP 地址或 IP 地址范围列表来控制对 Web 应用程序的访问。
  • 速率限制 - 自定义速率限制规则基于匹配条件和传入请求速率来控制访问。
  • 优化 - 可调整 WAF 规则以满足应用程序和组织 WAF 要求。 预期的优化功能包括定义规则排除、创建自定义规则和禁用规则。
  • 监视和日志记录 - 通过与 Azure Monitor 和 Azure Monitor 日志集成提供监视和日志记录。

Azure Front Door 层

Front Door 有三层:经典层、标准层和高级层。 每个层都支持许多你可使用的功能和优化。 标准层是内容交付优化,而高级层是安全优化。 有关每个层的支持功能的完整列表,请参阅下表。

层之间的功能比较

功能和优化 标准 高级 经典
静态文件交付
动态站点交付
自定义域 是 - 基于 DNS TXT 记录的域验证 是 - 基于 DNS TXT 记录的域验证 是 - 基于 CNAME 的验证
缓存管理(清除、规则和压缩)
原点负载均衡
基于路径的路由
规则引擎
服务器变量
规则引擎中的正则表达式
扩展指标
高级分析/内置报表 是 - 包含 WAF 报表
原始日志 - 访问日志和 WAF 日志
运行状况探测日志
自定义 Web 应用程序防火墙 (WAF) 规则
Microsoft 托管规则集 是 - 仅默认规则集 1.1 或以下
机器人防护
对专用链接的支持
简化价格(基准 + 使用量)
Azure Policy 集成
Azure 咨询集成

创建和配置配置文件

可使用 Azure 门户、Azure PowerShell 或 Azure CLI 创建和配置 Front Door。 对于 Azure CLI,请使用 az afd profile create 命令创建一个新的配置文件。 如果更喜欢 Azure PowerShell,也可使用 New-AzFrontDoor cmdlet。 可使用 Azure 门户从 Front Door 管理器完成大部分操作。

让我们为以前部署的机动车部门网站创建和配置 Front Door 配置文件。