你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
适用于: ✔️ Front Door (经典)
Important
- 从 2025 年 8 月 15 日开始,Azure Front Door(经典版)将不再支持新域加入。 迁移到 AFD 标准版和高级 版以创建新的域或配置文件,并避免服务中断。 了解详细信息
- 从 2025 年 8 月 15 日开始,Azure Front Door(经典版)将不再支持托管证书。 为了避免服务中断, 请切换到“自带证书”(BYOC), 或在 2025 年 8 月 15 日前迁移到 AFD 标准版和高级 版。 现有托管证书将在 2025 年 8 月 15 日之前自动续订,并一直有效到 2026 年 4 月 14 日。 了解详细信息
- Azure Front Door(经典版)将于 2027 年 3 月 31 日停用。 为了避免服务中断,请迁移到 AFD 标准版或高级版。 了解详细信息。
本文介绍如何为与 Front Door(经典)关联的自定义域启用 HTTPS。 在自定义域(如 https://www.contoso.com)上使用 HTTPS 可确保经由 TLS/SSL 加密的安全数据传输。 当 Web 浏览器使用 HTTPS 连接到网站时,会验证网站的安全证书并验证其合法性,从而提供安全保障,保护 Web 应用程序免受恶意攻击。
默认情况下,Azure Front Door 在其默认主机名上支持 HTTPS(如 https://contoso.azurefd.net)。 但是,需要为 www.contoso.com 等自定义域单独启用 HTTPS。
自定义 HTTPS 功能的关键特性包括:
- 无额外费用:证书的获取、续订或 HTTPS 流量无需任何费用。
- 启用便捷:通过 Azure 门户、REST API 或其他开发人员工具进行一次选择即可预配。
- 完整的证书管理:自动完成证书采购和续订,消除了因证书过期而导致服务中断的风险。
在本教程中,学习:
- 在自定义域上启用 HTTPS。
- 使用 AFD 托管的证书。
- 使用自己的 TLS/SSL 证书。
- 验证域。
- 在自定义域上禁用 HTTPS。
Prerequisites
- 拥有有效订阅的 Azure 帐户。 免费创建帐户。 
- 已载入至少有一个自定义域的 Azure Front Door。 有关详细信息,请参阅教程:将自定义域添加到 Front Door。 
- 使用自己的证书时,通过 Azure Cloud Shell 或 Azure PowerShell 在 Microsoft Entra ID 中注册 Front Door 服务主体。 - 本文中的步骤在 Azure Cloud Shell 中以交互方式运行 Azure PowerShell cmdlet 命令。 若要在 Cloud Shell 中运行 cmdlet,请选择代码块右上角的“打开 Cloud Shell”。 选择“复制”以复制代码,并将其粘贴到 Cloud Shell 以运行。 也可以从 Azure 门户中运行 Cloud Shell。 - 也可以在本地安装 Azure PowerShell 以运行 cmdlet。 如果在本地运行 PowerShell,请使用 Connect-AzAccount cmdlet 登录到 Azure。 
TLS/SSL 证书
若要在 Front Door(经典)自定义域上启用 HTTPS,需要 TLS/SSL 证书。 可以使用由 Azure Front Door 管理的证书或自己的证书。
选项 1(默认):使用 Front Door 托管的证书
使用 Azure Front Door 经典管理的证书,可以通过一些设置更改启用 HTTPS。 Azure Front Door 经典版处理所有证书管理任务,包括采购和续订。 对于直接通过 CNAME 指向 Azure Front Door 经典版终结点的自定义域名,仍支持使用。
Important
- 自 2025 年 5 月 8 日起,DigiCert 不再支持基于 WHOIS 的域验证方法。 如果你的域使用间接 CNAME 映射指向 Azure Front Door 经典版终结点,则必须使用自带证书 (BYOC) 功能。
- 由于基于 WHOIS 的域验证发生了更改,因此在具有指向 Azure Front Door 经典版的直接 CNAME 之前,无法自动重新更新使用基于 WHOIS 的域验证颁发的托管证书。
- 托管证书不适用于根域或顶点域(例如 contoso.com)。 如果 Azure Front Door 经典自定义域是根域或顶点域,则必须使用 “自带证书”(BYOC) 功能。
- 托管证书自动续订要求通过 CNAME 记录将您的自定义域直接映射到 Azure Front Door Classic 端点。
在自定义域上启用 HTTPS:
- 在 Azure 门户中,转到 Front Door 配置文件。 
- 从前端主机列表中选择要启用 HTTPS 的自定义域。 
- 在“自定义域 HTTPS”下,选择“已启用”,然后选择“Front Door 托管”作为证书源。 
- 选择“保存”。 
- 继续验证域。 
Note
- Azure Front Door 托管证书需要强制性地遵循 DigiCert 的 64 字符限制。 如果超出此限制,验证将失败。
- 顶点/根域不支持通过 Front Door 托管证书启用 HTTPS(例如,contoso.com)。 这种情况可以使用自己的证书(请参阅选项 2)。
选项 2:使用自己的证书
可以通过与 Azure Key Vault 集成使用自己的证书。 确保证书来自 Microsoft 受信任的 CA 列表,并具有完整的证书链。
准备你的密钥保管库帐户和证书
- 在 Front Door 所在的 Azure 订阅中创建一个密钥保管库帐户。
- 如果启用了网络访问限制,需要将密钥保管库配置为允许受信任的 Microsoft 服务绕过防火墙。
- 使用“保管库访问策略”权限模型。
- 将证书上传为证书对象,而非上传为机密。
Note
Front Door 不支持带椭圆曲线 (EC) 加密算法的证书。 证书必须有完整的证书链(包括叶证书和中间证书),根 CA 必须包含在 Microsoft 受信任 CA 列表中。
注册 Azure Front Door
使用 Azure PowerShell 或 Azure CLI 在 Microsoft Entra ID 中注册 Azure Front Door 服务主体。
使用 New-AzADServicePrincipal cmdlet 在 Microsoft Entra ID 中注册 Front Door 服务主体。
New-AzADServicePrincipal -ApplicationId "ad0e1c7e-6d38-4ba4-9efd-0bc77ba9f037"
授予 Azure Front Door 对 Key Vault 的访问权限
- 在密钥保管库帐户中,选择“访问策略”。 
- 选择“创建”以创建新的访问策略。 
- 在“机密权限”中,选择“获取”。 
- 在“证书权限”中,选择“获取”。 
- 在“选择主体”中搜索 ad0e1c7e-6d38-4ba4-9efd-0bc77ba9f037,然后选择“Microsoft.Azure.Frontdoor”。 选择“下一步”。 
- 在“应用程序”中,选择“下一步”。 
- 在“查看 + 创建”中,选择“创建”。 
Note
如果密钥保管库设有网络访问限制,请允许受信任的 Microsoft 服务访问密钥保管库。
选择要部署的 Azure Front Door 的证书
- 在门户中返回到 Front Door。 
- 选择要启用 HTTPS 的自定义域。 
- 在证书管理类型下,选择“使用我自己的证书”。 
- 选择密钥保管库、机密和机密版本。 - Note - 若要启用自动证书轮换,请将机密版本设置为“最新”。 如果选择了特定版本,需要手动更新才能进行证书轮换。 - Warning - 确保服务主体对 Key Vault 具有 GET 权限。 要在门户下拉列表中看到该证书,用户帐户必须对密钥保管库拥有 LIST 和 GET 权限。 
- 如果使用的是自己的证书,则无需验证域。 转至等待传播。 
验证域
如果 CNAME 记录仍然存在且不包含 afdverify 子域,DigiCert 会自动验证自定义域的所有权。
CNAME 记录应采用以下格式:
| Name | 类型 | Value | 
|---|---|---|
| www.contoso.com<> | CNAME | contoso.azurefd.net | 
有关 CNAME 记录的详细信息,请参阅创建 CNAME DNS 记录。
如果 CNAME 记录采用正确的格式,DigiCert 会自动验证自定义域名,并为域创建证书。 该证书会在一年内有效,并会在过期前自动续订。 自动验证通常需要几个小时。 如果在 24 小时内未看到域完成验证,请创建一个支持票证。
转到等待传播。
Note
如果通过 DNS 提供商获得证书颁发机构授权 (CAA) 记录,则必须包含 DigiCert 作为一个有效的 CA。 有关详细信息,请参阅管理 CAA 记录。
等待传播
验证域名后,最久需要 6-8 小时等待自定义域 HTTPS 功能激活。 流程完成后,Azure 门户中的自定义 HTTPS 状态设置为“已启用”。
操作进展
下表显示了启用 HTTPS 时的操作进度:
| 操作步骤 | 操作子步骤详细信息 | 
|---|---|
| 1. 提交请求 | 提交请求 | 
| 正在提交 HTTPS 请求。 | |
| HTTPS 请求成功提交。 | |
| 2. 域验证 | 如果域已通过 CNAME 映射到默认的 azurefd.net 前端主机,会自动验证域。 | 
| 域所有权验证成功。 | |
| 域所有权验证请求已过期(很可能是客户在 6 天内未响应)。 你的域上未启用 HTTPS。 * | |
| 客户已拒绝域所有权验证请求。 你的域上未启用 HTTPS。 * | |
| 3. 证书预配 | 证书颁发机构正在颁发在你的域中启用 HTTPS 所需的证书。 | 
| 证书已颁发,并正在为 Front Door 部署。 此过程可能耗时几分钟到一小时。 | |
| 已成功为 Front Door 部署证书。 | |
| 4. 完成 | 已成功在域上启用 HTTPS。 | 
* 仅当发生错误时才显示此消息。
如果提交请求之前出现错误,则会显示以下错误消息:
We encountered an unexpected error while processing your HTTPS request. Please try again and contact support if the issue persists.
常见问题
- 谁是证书提供者?使用哪种类型的证书? - DigiCert 提供的专用/单一证书用于自定义域。 
- 使用基于 IP 的 TLS/SSL 还是 SNI TLS/SSL? - Azure Front Door 使用 SNI TLS/SSL。 
- 如果我未收到 DigiCert 发来的域验证电子邮件,怎么办? - 如果自定义域的 CNAME 条目直接指向你的终结点主机名(并且你未使用 afdverify 子域名),则你不会收到域验证电子邮件。 验证会自动进行。 如果未显示 CNAME 条目,且在 24 小时内未收到电子邮件,请联系 Microsoft 支持部门。 
- 使用 SAN 证书是否没有使用专用证书安全? - SAN 证书遵循与专用证书相同的加密和安全标准。 所有颁发的 TLS/SSL 证书都使用 SHA-256 来增强服务器安全性。 
- 我是否需要通过我的 DNS 提供商获得证书颁发机构授权记录? - 否,当前无需具备证书颁发机构授权记录。 但是,如果你确实有一个,则必须包含 DigiCert 作为一个有效的 CA。 
清理资源
在自定义域上启用 HTTPS:
禁用 HTTPS 功能
- 在 Azure 门户中,转到 Azure Front Door 配置。 
- 选择要禁用 HTTPS 的自定义域。 
- 选择“已禁用”,然后选择“保存”。 
等待传播
禁用自定义域 HTTPS 功能后,最久可能需要 6-8 小时后生效。 相关流程完成后,Azure 门户中的自定义 HTTPS 状态设置为 “已禁用”。
操作进展
下表显示了禁用 HTTPS 时的操作进度:
| 操作进展 | 操作详情 | 
|---|---|
| 1. 提交请求 | 提交请求 | 
| 2. 证书取消预配 | 删除证书 | 
| 3. 完成 | 已删除证书 |