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

Front Door 的最佳做法

本文汇总了有关使用 Azure Front Door 的最佳实践。

一般最佳实践

避免合并流量管理器和 Front Door

对于大多数解决方案,建议使用 Front Door 或者Azure 流量管理器,但不同时使用。 Azure 流量管理器是基于 DNS 的负载均衡器。 它将流量直接发送到源终结点。 相比之下,Azure Front Door 在靠近客户端的入网点 (PoP) 终止连接,并建立与源的单独长期连接。 产品的工作方式不同,适用于不同的用例。

如果需要内容分发网络 (CDN)、TLS 终止、高级路由功能或 web 应用程序防火墙 (WAF),请考虑使用 Front Door。 对于使用从客户端到终结点的直接连接进行简单的全局负载均衡,请考虑使用流量管理器。 有关选择负载均衡选项的详细信息,请参阅负载均衡选项

但是,作为需要高可用性的复杂体系结构的一部分,可以在 Azure Front Door 前面放置 Azure 流量管理器。 如果 Azure Front Door 不可用(这种情况很少见),Azure 流量管理器可以将流量路由到备用目标,例如 Azure 应用程序网关或合作伙伴内容分发网络 (CDN)。

重要

请勿将 Azure 流量管理器放在 Azure Front Door 后面。 Azure 流量管理器应始终位于 Azure Front Door 前面。

限制发送到源的流量

当流量仅流经 Front Door 时,Front Door 的功能最佳。 应将源配置为阻止尚未通过 Front Door 发送的流量。 有关详细信息,请参阅保护发送到 Azure Front Door 源的流量

使用最新的 API 版本和 SDK 版本

使用 API、ARM 模板、Bicep 或 Azure SDK 处理 Front Door 时,请务必使用最新的可用 API 或 SDK 版本。 当新功能可用时,会出现 API 和 SDK 更新,更新也包含重要的安全修补程序和 bug 修复。

配置日志

Front Door 会跟踪有关每个请求的大量遥测数据。 启用缓存时,源服务器可能不会收到每个请求,因此使用 Front Door 日志了解解决方案的运行和响应客户端的方式非常重要。 有关 Azure Front Door 记录的指标和日志的详细信息,请参阅 在 Azure Front Door 中监视指标和日志WAF 日志

若要为自己的应用程序配置日志记录,请参阅配置 Azure Front Door 日志

TLS 最佳做法

使用端到端 TLS

Front Door 从客户端终止 TCP 和 TLS 连接。 然后,它会建立从每个入网点 (PoP) 到原点的新连接。 最好使用 TLS 保护所有这些连接,即使对于托管在 Azure 中的原点也是如此。 此方法可确保在传输过程中始终对数据进行加密。

有关详细信息,请参阅 Azure Front Door 的端到端 TLS

使用 HTTP 到 HTTPS 重定向

客户端最好使用 HTTPS 连接到服务。 但是,有时需要接受 HTTP 请求,以允许可能不了解最佳做法的较旧客户端或客户端。

可以将 Front Door 配置为自动重定向 HTTP 请求以使用 HTTPS 协议。 应启用重定向所有流量以在路由上使用 HTTPS 设置。

使用托管 TLS 证书

Front Door 管理 TLS 证书时,可降低运营成本,并帮助避免因忘记续订证书而导致的代价高昂的中断。 Front Door 会自动颁发并轮换托管 TLS 证书。

有关详细信息,请参阅使用 Azure 门户在 Azure Front Door 自定义域上配置 HTTPS

使用“最新”版客户托管的证书

如果决定使用自己的 TLS 证书,请考虑将密钥保管库证书版本设置为“最新”。 使用“最新版”,可以避免重新配置 Front Door 以使用新版本的证书,也不用等待在整个 Front Door 环境中部署证书。

有关详细信息,请参阅选择要部署的 Azure Front Door 的证书

域名最佳做法

在 Front Door 和源上使用同一域名

Front Door 可以重写传入请求的 Host 标头。 管理路由到单个源的一组面向客户的自定义域名时,此功能非常有用。 如果想要避免在 Front Door 和原点配置自定义域名,此功能也会有所帮助。 但是,重写 Host 标头时,请求 Cookie 和 URL 重定向可能会中断。 特别是,使用诸如 Azure 应用服务等平台时,会话相关性身份验证和授权等功能可能无法正常工作。

在重写请求的 Host 标头之前,请仔细考虑应用程序是否正常工作。

有关详细信息,请参阅在反向代理及其后端 Web 应用程序之间保留原始 HTTP 主机名

Web 应用程序防火墙 (WAF)

启用 WAF

对于面向 Internet 的应用程序,建议启用 Front Door Web 应用程序防火墙 (WAF),并将其配置为使用托管规则。 使用 WAF 和 Microsoft 托管规则时,应用程序可以免受各种攻击。

有关详细信息,请参阅 Azure Front Door 的 Web 应用程序防火墙 (WAF)

遵循 WAF 最佳做法

适用于 Front Door 的 WAF 具有其配置和使用的最佳做法。 有关详细信息,请参阅 Azure Front Door 上的Web 应用程序防火墙最佳做法

运行状况探测最佳做法

当源组中只有一个源时禁用运行状况探测

Front Door 的运行状况探测旨在检测源不可用或不正常的情况。 当运行状况探测检测到源问题时,可以将 Front Door 配置为将流量发送到源组中的另一个源。

如果只有单个源,则 Front Door 始终将流量路由到该源,即使其运行状况探测报告状态不正常。 运行状况探测的状态不会执行任何操作来更改 Front Door 的行为。 在此方案中,运行状况探测不提供权益,应禁用它们以减少源上的流量。

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

选择良好的运行状况探测终结点

请考虑指示要监视的 Front Door 运行状况探测的位置。 通常最好监视专为运行状况监视设计的网页或位置。 应用程序逻辑可以考虑为生产流量提供服务所需的所有关键组件的状态,包括应用程序服务器、数据库和缓存。 这样,如果任何组件发生故障,Front Door 可以将流量路由到服务的另一个实例。

有关详细信息,请参阅运行状况终结点监视模式

使用 HEAD 运行状况探测

运行状况探测可以使用 GET 或 HEAD HTTP 方法。 最好使用 HEAD 运行状况探测方法,从而减少源上的流量负载量。

有关详细信息,请参阅运行状况探测支持的 HTTP 方法

后续步骤

了解如何创建 Front Door 配置文件