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

使用 Azure 门户在 Azure Front Door 自定义域上配置 HTTPS

当你使用自己的自定义域时,Azure Front Door 会默认启用到应用程序的安全传输层安全性 (TLS) 传递。 若要详细了解自定义域,包括自定义域如何使用 HTTPS,请参阅 Azure Front Door 中的域

Azure Front Door 支持 Azure 托管证书和客户管理的证书。 在本文中,你会了解如何为 Azure Front Door 自定义域配置这两种类型的证书。

先决条件

  • 必须先创建 Azure Front Door 配置文件,然后才能为自定义域配置 HTTPS。 有关详细信息,请参阅创建 Azure Front Door 配置文件
  • 如果没有自定义域,则必须先在域提供商那里购买一个。 有关示例,请参阅购买自定义域名
  • 如果使用 Azure 来托管 DNS 域,必须将域提供商的域名系统 (DNS) 委托给 Azure DNS。 有关详细信息,请参阅 向 Azure DNS 委派域。 否则,如果使用域提供商来处理 DNS 域,则必须输入提示的 DNS TXT 记录以手动验证域。

非 Azure 预验证域的 Azure Front Door 托管证书

如果你有自己的域,并且该域尚未与另一个为 Azure Front Door 预验证域的 Azure 服务相关联,请按照以下步骤操作:

  1. 在“设置”下,为 Azure Front Door 配置文件选择“域”。 然后选择“+ 添加”以添加新的域

    显示域配置登陆窗格的屏幕截图。

  2. 在“添加域”页上,输入或选择以下信息。 然后选择“添加”以载入自定义域

    显示已选择 Azure 托管 DNS 的“添加域”窗格的屏幕截图。

    设置
    域类型 选择“非 Azure 预验证域”
    DNS 管理 选择“Azure 托管 DNS(推荐)”
    DNS 区域 选择托管自定义域的“Azure DNS 区域”。
    自定义域 选择现有域或添加新域。
    HTTPS 选择“AFD 托管(推荐)”。
  3. 按照启用自定义域中的步骤,验证自定义域并将其与终结点关联。

  4. 当自定义域与终结点成功关联后,Azure Front Door 会生成并部署证书。 此过程可能需要几分钟到一小时才能完成。

Azure 预验证域的 Azure 托管证书

如果你有自己的域,并且该域与另一个为 Azure Front Door 预验证域的 Azure 服务相关联,请按照以下步骤操作:

  1. 在“设置”下,为 Azure Front Door 配置文件选择“域”。 然后选择“+ 添加”以添加新的域

    显示“域登录”窗格的屏幕截图。

  2. 在“添加域”页上,输入或选择以下信息。 然后选择“添加”以载入自定义域

    显示具有预验证域的“添加域”窗格的屏幕截图。

    设置
    域类型 选择“Azure 预验证域”
    预验证的自定义域 从 Azure 服务的下拉列表中选择自定义域名。
    HTTPS 选择“Azure 托管”
  3. 按照启用自定义域中的步骤,验证自定义域并将其与终结点关联。

  4. 成功将自定义域与终结点关联后,Azure Front Door 托管的证书会部署到 Azure Front Door。 此过程可能需要几分钟到一小时才能完成。

使用自己的证书

还可以选择使用自己的 TLS 证书。 TLS 证书必须满足某些要求。 有关详细信息,请参阅证书要求

准备你的密钥保管库帐户和证书

建议创建单独的 Azure 密钥保管库实例,用于存储 Azure Front Door TLS 证书。 有关详细信息,请参阅创建 Azure 密钥保管库实例。 如果你已经有了证书,可以将其上传到新的密钥保管库实例。 否则,可以通过密钥保管库从某个证书颁发机构 (CA) 合作伙伴新建证书。

警告

Azure Front Door 目前仅支持同一订阅中的密钥保管库。 选择不同订阅下的密钥保管库会导致失败。

有关证书的其他注意事项:

  • Azure Front Door 不支持带椭圆曲线加密算法的证书。 此外,证书必须有包括叶证书和中间证书的完整证书链。 根 CA 还必须是Microsoft 受信任的 CA 列表的一部分。
  • 建议使用托管标识允许访问密钥保管库证书,因为我们将来会停用应用注册。

注册 Azure Front Door

使用 Azure PowerShell 或 Azure CLI 将 Azure Front Door 服务主体注册为 Microsoft Entra ID 中的应用。

注意

  • 此操作要求你在 Microsoft Entra ID 中具有全局管理员权限。 每个 Microsoft Entra 租户只需执行一次注册。
  • 应用程序 ID 205478c0-bd83-4e1b-a9d6-db63a3e1e1c8d4631ece-daab-479b-be77-ccb713491fc0 由 Azure 为所有 Azure 租户和订阅中的 Azure Front Door 标准和高级版预定义。 Azure Front Door(经典)具有不同的应用程序 ID。
  1. 根据需要在本地计算机上的 PowerShell 中安装 Azure PowerShell

  2. 使用 PowerShell 运行以下命令:

    Azure 公有云:

    New-AzADServicePrincipal -ApplicationId '205478c0-bd83-4e1b-a9d6-db63a3e1e1c8'
    

    Azure 政府云:

     New-AzADServicePrincipal -ApplicationId 'd4631ece-daab-479b-be77-ccb713491fc0'
    

授予 Azure Front Door 对 Key Vault 的访问权限

授予 Azure Front Door 访问密钥保管库帐户中的证书的权限。 只需向证书和机密授予GET权限,Azure Front Door 即可检索证书。

  1. 在密钥保管库帐户中,选择“访问策略”

  2. 选择添加新策略创建以创建新的访问策略。

  3. 在“机密权限”中,选择“获取”以允许 Azure Front Door 检索证书。

  4. 在“证书权限”中,选择“获取”以允许 Azure Front Door 检索证书。

  5. 在“选择主体”中,搜索“205478c0-bd83-4e1b-a9d6-db63a3e1e1c8”,并选择“Microsoft.AzureFrontDoor-Cdn”。 选择下一步

  6. 应用程序中,选择下一步

  7. 在“查看 + 创建”中,选择“创建” 。

注意

如果密钥保管库受到网络访问限制的保护,请确保允许受信任的 Microsoft 服务访问密钥保管库。

Azure Front Door 现在可以访问此密钥保管库以及存储在其中的证书。

选择要部署的 Azure Front Door 的证书

  1. 返回到门户中的 Azure Front Door 标准/高级版。

  2. 在“设置”下,转到“机密”,然后选择“+ 添加证书”。

    显示 Azure Front Door 机密登陆窗格的屏幕截图。

  3. 在“添加证书”页面上,选中要添加到 Azure Front Door 标准/高级版的证书的复选框。

  4. 选择证书时,必须选择证书版本。 如果选择“最新”,则每当证书轮换(续订)时,Azure Front Door 都会自动更新。 如果想要自行管理证书轮换,还可以选择特定的证书版本。

    对于版本选项,选择“最新”,然后选择“添加”。

    显示“添加证书”窗格的屏幕截图。

  5. 成功预配证书后,可以在添加新的自定义域时使用该证书。

    显示证书已成功添加到机密的屏幕截图。

  6. 在“设置”下,转到“域”,然后选择“+ 添加”以添加新的自定义域。 在“添加域”页面上,为 HTTPS 选择“自带证书 (BYOC)”。 对于“机密”,从下拉列表中选择要使用的证书。

    注意

    所选证书的公用名必须与要添加的自定义域相同。

    显示使用 HTTPS 的“添加自定义域”窗格的屏幕截图。

  7. 请遵循屏幕上的步骤来验证证书。 然后,如配置自定义域中所述,将新建的自定义域与终结点关联。

在证书类型之间切换

可以在使用 Azure Front Door 托管证书和客户管理的证书之间更改域。 有关详细信息,请参阅 Azure Front Door 中的域

  1. 选择证书状态以打开“证书详细信息”页。

    显示“域登录”窗格上证书状态的屏幕截图。

  2. 在“证书详细信息”页面上,可以在“Azure Front Door 托管”与“自带证书 (BYOC)”之间切换。

    如果选择“自带证书 (BYOC)”,请按照上述步骤选择证书。

  3. 选择更新以更改与域关联的证书。

    显示“证书详细信息”窗格的屏幕截图。

后续步骤