传输层安全性 (TLS) 以前称为安全套接字层 (SSL),是一种用于在 Web 服务器和客户端(如 Web 浏览器)之间建立加密链接的标准安全技术。 该链接可确保在服务器和客户端之间传递的所有数据都会得到保密和加密。
为了满足你的安全性或合规性要求,Azure Front Door 支持端到端 TLS 加密。 Front Door TLS/SSL 卸载会终止 TLS 连接,解密 Azure Front Door 的流量,并在将流量转发到源之前对其进行重新加密。 如果与源的连接使用源的公共 IP 地址,则在 Azure Front Door 上将 HTTPS 配置为转发协议是一种很好的安全做法。 通过使用 HTTPS 作为转发协议,可以在从客户端到源的整个请求处理过程中强制实施端到端 TLS 加密。 如果使用 专用链接 功能通过 Azure Front Door Premium 部署私有源,则还支持 TLS/SSL 卸载。
本文介绍 Azure Front Door 如何与 TLS 连接配合使用。 有关如何将 TLS 证书用于自己的自定义域的详细信息,请参阅 自定义域的 HTTPS。 要了解如何在自己的自定义域上配置 TLS 证书,请参阅使用 Azure 门户在 Azure Front Door 上配置自定义域。
端到端 TLS 加密
端到端 TLS 允许在传输到源时保护敏感数据,同时受益于全局负载均衡和缓存等 Azure Front Door 功能。 某些功能还包括基于 URL 的路由、TCP 拆分、距离客户端最近边缘位置上的缓存及在边缘自定义 HTTP 请求。
Azure Front Door 会在边缘卸载 TLS 会话,并对客户端请求进行解密。 然后,它会应用配置的传递规则,以便将请求路由到源组中的相应源。 接着,Azure Front Door 会在请求传输到源之前重新开始与源的 TLS 连接,并使用源的证书对所有数据进行重新加密。 来自源的任何响应都会经历相同的加密过程返回最终用户。 你可以将 Azure Front Door 配置为使用 HTTPS 作为转发协议,以启用端到端 TLS。
支持的 TLS 版本
Azure Front Door 支持两个版本的 TLS 协议:TLS 版本 1.2 和 1.3。 2019 年 9 月之后创建的所有 Azure Front Door 配置文件都使用 TLS 1.2 作为启用 TLS 1.3 的默认最小值。 目前,Azure Front Door 不支持客户端/相互身份验证(mTLS)。
Important
从 2025 年 3 月 1 日开始,新 Azure Front Door 配置文件中不允许使用 TLS 1.0 和 1.1。
对于 Azure Front Door 标准版和高级版,可以根据组织的安全需求配置预定义的 TLS 策略或选择 TLS 密码套件。 有关详细信息,请参阅 Azure Front Door TLS 策略 并在 Front Door 自定义域上配置 TLS 策略。
Note
- 若要为符合 Microsoft SDL 要求的 EC 曲线(包括 Secp384r1、Secp256r1 和 Secp521)之一提供支持,必须使用启用了 TLS 1.3 的客户端,这样才能使用 TLS 1.3 成功地通过 Azure Front Door 发出请求。
- 建议客户端在请求期间使用这些曲线之一作为首选曲线,以避免增加 TLS 握手延迟,该延迟可能是因多次往返协商支持的 EC 曲线导致的。
支持的证书
创建 TLS/SSL 证书时,必须使用 Microsoft 受信任 CA 列表中允许的证书颁发机构 (CA) 创建完整的证书链。 如果使用不允许的 CA,请求会被拒绝。
不允许来自内部 CA 的证书或自签名证书。
联机证书状态协议 (OCSP) 装订
默认情况下,Azure Front Door 中支持 OCSP 装订且无需经过任何配置。
源 TLS 连接(Azure Front Door 到源)
对于 HTTPS 连接,Azure Front Door 期望您的源提供来自有效证书颁发机构(CA)的证书,并且证书的使用者名称与源 主机名匹配。 例如,如果源主机名设置为 myapp-chinanorth2.contoso.net
,并且源在 TLS 握手期间出示的证书的使用者名称中既没有 myapp-chinanorth2.contoso.net
,也没有 *.contoso.net
,则 Azure Front Door 将拒绝连接,并且客户端将遇到错误。
Note
证书必须有包括叶证书和中间证书的完整证书链。 根 CA 必须是 Microsoft 受信任的 CA 列表的一部分。 如果提供了没有完整链的证书,则涉及该证书的请求不能保证按预期工作。
在某些用例(例如测试)中,可以禁用 Azure Front Door 的证书使用者名称检查,作为解决 HTTPS 连接失败的解决方法。 源仍必须提供具有有效受信任链的证书,但不需要与源主机名匹配。
在 Azure Front Door 标准版和高级版中,可以配置源以禁用证书使用者名称检查。
Note
从安全角度来看,Microsoft 不建议禁用证书使用者名称检查。
前端 TLS 连接(客户端到 Azure Front Door)
若要启用 HTTPS 协议来保护在 Azure Front Door 自定义域上传送内容,可以选择使用自己的证书。
有关详细信息,请参阅自定义域的 HTTPS。