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

Azure Front Door 中的源和源组

注意

本文中的“源”和“源组”指的是 Azure Front Door(经典版)配置的后端和后端池。

本文介绍有关如何在 Azure Front Door 中映射 Web 应用程序部署的概念。 你将了解什么是 Azure Front Door 配置中的源组

源指的是当未启用缓存或未命中缓存时,Azure Front Door 将从中检索内容的应用程序部署。 Azure Front Door 支持托管在 Azure 中的源,以及托管在本地数据中心或由其他云提供商托管的应用程序。 不得将源与数据库层或存储层混淆。 应将源视为应用程序后端的终结点。 向 Front Door 配置中的源组添加源时,还必须配置以下设置:

  • 源类型: 想要添加的资源的类型。 Front Door 支持从应用服务、云服务或存储自动发现应用程序后端。 如果需要 Azure 后端(甚至非 Azure 后端)中的其他资源,请选择“自定义主机”。

    重要

    在配置期间,API 不会验证是否可从 Front Door 环境访问源。 请确保 Front Door 可访问你的源。

  • 订阅和源主机名:如果未选择“自定义主机”作为后端主机类型,则需要通过选择相应的订阅以及相应的后端主机名来选择你的后端。

  • 专用链接:Azure Front Door 高级版层支持使用专用链接将流量发送到源。 有关详细信息,请参阅使用专用链接保护源

  • 证书使用者名称验证:在从 Azure Front Door 连接到源 TLS 期间,Azure Front Door 将验证请求主机名是否与源提供的证书中的主机名匹配。 从安全角度来看,Microsoft 不建议禁用证书使用者名称检查。 若要了解详细信息,请参阅端到端 TLS 加密,特别是想要禁用此功能时。

  • 源主机头: 发送到后端的每个请求的主机头值。 有关详细信息,请查看源主机头

  • 优先级。 如果要对所有流量使用某个主服务后端,请为不同的后端分配优先级。 此外,如果主后端或备份后端不可用,请提供备份。 有关详细信息,请参阅优先级

  • 权重。 为不同的后端分配权重,以便在一组后端之间均匀分配或根据权重系数分配流量。 有关详细信息,请参阅权重

源主机标头

由 Azure Front Door 转发到源的请求将包含一个主机头字段,源将使用该字段来检索目标资源。 此字段的值通常来自包含主机头和端口的源 URI。

例如,发送给 www.contoso.com 的请求将包含主机头 www.contoso.com。 如果使用 Azure 门户配置源,则此字段的默认值为源的主机名。 如果源为 contoso-westus.azurewebsites.net,则在 Azure 门户中,源主机头的自动填充值为 contoso-westus.azurewebsites.net。 但如果在没有显式设置此字段的情况下使用 Azure 资源管理器模板或其他方法,则 Front Door 将会发送传入的主机名作为主机头的值。 如果请求发送给 www.contoso.com,并且源 contoso-westus.azurewebsites.net 具有空标头字段,则 Front Door 会将主机头设为 www.contoso.com

大多数应用后端(如 Azure Web 应用、Blob 存储和云服务)要求主机头与后端的域相匹配。 但是路由到源的前端主机将使用不同的主机名,例如 www.contoso.net

如果源要求主机头匹配源主机名,请确保源主机头包含源的主机名。

注意

如果使用应用服务作为源,请确保应用服务还配置了自定义域名。 有关详细信息,请参阅将现有的自定义 DNS 名称映射到 Azure 应用服务

配置源的源主机头

若要在源组部分中为源配置“源主机头”字段:

  1. 打开 Front Door 资源并选择包含要配置的源的源组。

  2. 添加源(如果尚未添加),或者编辑现有源。

  3. 将“源主机头”字段设为自定义值,或将其留空。 传入请求的主机名将用作主机头值。

源组

Azure Front Door 中的源组指的是为其应用程序接收类似流量的一组源。 你可以将源组定义为你在全球各地的应用程序实例的逻辑分组,这些实例将接收相同的流量,并以预期行为做出响应。 可在不同区域或在同一区域中部署这些源。 所有源都可以采用主动/主动或主动/被动配置进行部署。

源组定义了如何通过健康状况探测对源进行评估。 它还定义了源之间的负载均衡方法。

运行状况探测

Azure Front Door 将周期性的 HTTP/HTTPS 探测请求发送到你配置的每个源。 探测请求可确定每个源的接近度和运行状况,以便对最终用户请求进行负载均衡。 源组的运行状况探测设置会定义我们如何轮询应用后端的运行状况状态。 以下设置可用于负载均衡配置:

  • 路径:用于源组中的所有源的探测请求的 URL。 例如,如果一个源为 contoso-westus.azurewebsites.net,并且路径设置为 /probe/test.aspx,则如果协议设置为 HTTP,Front Door 会将健康状况探测请求发送到 http://contoso-westus.azurewebsites.net/probe/test.aspx

  • 协议:定义是否通过 HTTP 或 HTTPS 协议将运行状况探测请求从 Front Door 发送到源。

  • 方法:要用于发送运行状况探测的 HTTP 方法。 选项包括 GET 或 HEAD(默认)。

    注意

    为了降低后端的负载和成本,Front Door 建议将 HEAD 请求用于运行状况探测。

  • 间隔(秒) :定义向源发送运行状况探测的频率,或每个 Front Door 环境发送探测的时间间隔。

    注意

    为了更快地进行故障转移,请将时间间隔设为较小值。 但是值越低,你的后端接收到的运行状况探测请求量越多。 例如,如果将时间间隔设置为 30 秒(并且假设全球有 100 个 Front Door POP),则每个后端每分钟将收到约 200 个探测请求。

有关详细信息,请查看运行状况探测

负载均衡设置

源组的负载均衡设置定义我们评估运行状况探测的方式。 这些设置决定源是否正常运行。 它们还会检查如何在源组中的不同源之间对流量进行负载均衡。 以下设置可用于负载均衡配置:

  • 样本大小: 标识我们需要考虑采用多少个运行状况探测样本来进行源运行状况评估。

  • 成功样本大小: 定义在上述“样本大小”中,我们需要检查多少个成功样本,才能将源判定为正常。 例如,假定 Front Door 运行状况探测时间间隔为 30 秒,样本大小为 5,成功的样本大小为 3。 每次评估源的运行状况探测时,都将检查过去 150 秒内的最后五个样本 (5 x 30)。 至少需要三个成功的探测,才能将源声明为正常。

  • 延迟敏感度(额外延迟):定义你是希望 Front Door 将请求发送到处于延迟度量敏感度范围内的源,还是将请求转发到最近的后端。

有关详细信息,请参阅基于最低延迟的路由方法

后续步骤