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

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

使用 Azure Front Door 进行应用程序分发时,如果希望自己的域名出现在用户请求中,则必须使用自定义域。 使用可见的域名可以方便客户,适用于推广品牌。

创建 Azure Front Door 标准版/高级版配置文件后,默认前端主机具有子域 azurefd.net。 默认情况下,当 Azure Front Door 标准版/高级版提供来自后端的内容时,此子域包含在 URL 中。 示例为 https://contoso-frontend.azurefd.net/activeusers.htm

为方便起见,Azure Front Door 提供了用于将自定义域与默认主机相关联的选项。 通过此选项,可在 URL 中使用自定义域而不是 Azure Front Door 拥有的域名来分发内容。 示例为 https://www.contoso.com/photo.png

先决条件

  • 必须先创建 Azure Front Door 配置文件,然后才能完成本教程中的步骤。 有关详细信息,请参阅快速入门:创建 Azure Front Door 标准版/高级版
  • 如果没有自定义域,则必须先在域提供商那里购买一个。 有关示例,请参阅购买自定义域名
  • 如果使用 Azure 来托管 DNS 域,必须将域提供商的域名系统 (DNS) 委托给 Azure DNS。 有关详细信息,请参阅 向 Azure DNS 委派域。 否则,如果使用域提供商来处理 DNS 域,则必须输入提示的 DNS TXT 记录以手动验证域。

添加新的自定义域

注意

如果自定义域已在 Azure Front Door 或 Microsoft CDN 配置文件中进行验证,则无法将其添加到其他配置文件。

可在 Azure Front Door 配置文件的“域”窗格上配置自定义域。 可以在终结点关联之前设置和验证自定义域。 一个自定义域及其子域一次只能与一个终结点相关联。 但是,可以将同一自定义域中的不同子域用于不同的 Azure Front Door 配置文件。 还可以将包含不同子域的自定义域映射到同一 Azure Front Door 终结点。

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

    显示域登录窗格中的“添加域”按钮的屏幕截图。

  2. 在“添加域”窗格上,选择域类型。 可以选择“非 Azure 验证的域”或“Azure 预验证域”。

    • 非 Azure 验证的域是需要所有权验证的域。 选择“非 Azure 验证的域”时,建议使用 Azure 托管的 DNS 选项。 也可以使用自己的 DNS 提供程序。 如果选择 Azure 托管的 DNS,请选择现有的 DNS 区域。 然后选择现有的自定义子域或创建一个新子域。 如果使用的是其他 DNS 提供程序,请手动输入自定义域名。 然后选择“添加”以添加自定义域。

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

    • Azure 预验证域是已由其他 Azure 服务验证的域。 选择此选项时,不需要从 Azure Front Door 进行域所有权验证。 会显示一个包含不同 Azure 服务验证的域的下拉列表。

      显示“添加域”窗格中预先验证的自定义域的屏幕截图。

    注意

    • Azure Front Door 支持 Azure 托管证书和自带证书 (BYOC)。 对于非 Azure 验证的域,Azure 托管证书由 Azure Front Door 颁发和管理。 对于 Azure 预验证域,Azure 托管证书由验证域的 Azure 服务颁发和管理。 若要使用自己的证书,请参阅在自定义域上配置 HTTPS
    • Azure Front Door 支持不同订阅中的预验证域和 Azure DNS 区域。
    • 目前,Azure 预验证域仅支持由 Azure Static Web Apps 验证的域。

    新的自定义域的验证状态为“正在提交”。

    显示域验证状态为“正在提交”的屏幕截图。

    注意

    • 从 2023 年 9 月开始,Azure Front Door 现在支持基于 BYOC 的域所有权验证。 如果所提供的证书的证书名称 (CN) 或使用者可选名称 (SAN) 与自定义域匹配,Azure Front Door 会自动批准域所有权。 选择 Azure 托管证书时,会继续通过 DNS TXT 记录评估域所有权。
    • 如果自定义域是在支持基于 BYOC 的验证之前创建的,,并且域验证状态为“已批准”外的任何其他状态,那么需要在门户中选择“验证状态”>“重新验证”来触发域所有权验证的自动审批。 如果使用命令行工具,可以通过向域 API 发送空的 PATCH 请求来触发域验证。
    • Azure 预验证域的验证状态为“挂起”。 几分钟后,它会自动更改为“已批准”。 验证获得批准后,请跳到将自定义域关联到 Front Door 终结点并完成其余步骤。

    几分钟后,验证状态会更改为“挂起”。

    显示域验证状态为“挂起”的屏幕截图。

  3. 选择“挂起”验证状态。 此时会显示一个新窗格,其中包含验证自定义域所需的 DNS TXT 记录信息。 TXT 记录的形式为 _dnsauth.<your_subdomain>。 如果使用的是基于 Azure DNS 的区域,请选择“添加”。 会在 Azure DNS 区域中新建一条包含所示记录值的 TXT 记录。 如果使用的是其他 DNS 提供程序,请使用窗格上所示的记录值手动新建一条名为 _dnsauth.<your_subdomain> 的 TXT 记录。

    显示“验证自定义域”窗格的屏幕截图。

  4. 关闭窗格,返回到自定义域列表登陆窗格。 自定义域的“正在预配”状态应该会更改为“已预配”。 验证状态应该会更改为“已批准”。

    显示“正在预配”状态和“已批准”状态的屏幕截图。

有关域验证状态的详细信息,请参阅 Azure Front Door 中的域

将自定义域与 Azure Front Door 终结点相关联

验证自定义域后,可将其与 Azure Front Door 标准版/高级版终结点相关联。

  1. 选择“未关联”链接以打开“关联终结点和路由”窗格。 选择要与域关联的终结点和路由。 然后选择“关联”以更新配置。

    显示“关联终结点和路由”窗格的屏幕截图。

    终结点关联状态应该会更改为反映自定义域当前关联的终结点。

    显示终结点关联链接的屏幕截图。

  2. 选择“DNS 状态”链接。

    显示 DNS 状态链接的屏幕截图。

    注意

    对于 Azure 预验证域,请转到 DNS 托管服务,并手动将此域的 CNAME 记录从其他 Azure 服务终结点更新到 Azure Front Door 终结点。 此步骤是必需的,无论域是由 Azure DNS 还是其他 DNS 服务托管。 用于从“DNS 状态”列更新 CNAME 的链接不适用于此类型的域。

  3. 此时会显示“添加或更新 CNAME 记录”窗格,其中显示在流量开始流动之前必须提供的 CNAME 记录信息。 如果使用的是 Azure DNS 托管区域,可选择窗格上的“添加”按钮来创建 CNAME 记录。 如果使用的是其他 DNS 提供程序,必须手动输入窗格上显示的 CNAME 记录名称和值。

    显示“添加或更新 CNAME 记录”窗格的屏幕截图。

  4. 创建 CNAME 记录并将自定义域与 Azure Front Door 终结点关联后,流量随即开始流动。

    注意

    • 如果 HTTPS 已启用,则证书预配和传播可能需要花费几分钟时间,因为证书需要传播到所有边缘位置。
    • 如果域 CNAME 间接指向 Azure Front Door 终结点(例如,使用 Azure 流量管理器进行多 CDN 故障转移),则“DNS 状态”列将显示为“当前未检测到 CNAME/别名记录”。 在这种情况下,Azure Front Door 无法保证 100% 检测到 CNAME 记录。 如果将 Azure Front Door 终结点配置为流量管理器,但仍然看到此消息,这并不意味着你没有正确配置。 你不需要进一步操作。

验证自定义域

验证和关联自定义域后,请确认是否已将自定义域正确引用到终结点。

显示已验证和关联的自定义域的屏幕截图。

最后,验证应用程序内容是否是通过浏览器传送。

后续步骤