将活动 DNS 名称迁移到 Azure 应用服务

本文介绍如何在不停机的情况下,将活动 DNS 名称迁移到 Azure 应用服务

将实时站点及其 DNS 域名迁移到应用服务时,该 DNS 名称已在提供实时流量。 可以在迁移期间提前将活动 DNS 名称绑定到应用服务应用,从而避免 DNS 解析中的停机时间。

如果你不担心 DNS 解析中的停机时间,请参阅将现有的自定义 DNS 名称映射到 Azure 应用服务

先决条件

要完成这些步骤,请确保应用服务应用不在“免费”层中

1. 获取域验证 ID

提前绑定自定义域时,请先完成下面的两项操作,再对现有 DNS 记录进行更改:

  • 通过向域提供商添加域验证 ID 来验证域所有权。
  • 在应用服务应用中启用域名。

最终将自定义 DNS 名称从旧站点迁移到应用服务应用时,DNS 解析中将不会有停机时间。

  1. Azure 门户中打开应用服务应用的管理页。

  2. 在应用页的左侧窗格中,选择“自定义域”。

  3. 复制“自定义域”页中的“自定义域验证 ID”框中的 ID,以便进行后续操作。

    Screenshot that shows the ID in the Custom Domain Verification ID box.

2. 创建 DNS 记录

  1. 请登录到域提供商的网站。

    可使用 Azure DNS 来管理域的 DNS 记录,并为 Azure 应用服务配置自定义 DNS 名称。 有关详细信息,请参阅教程:在 Azure DNS 中托管域

  2. 查找管理 DNS 记录的页面。

    每个域提供商都有自己的 DNS 记录界面,因此请查阅提供商的文档。 查找站点中标记为“域名”、“DNS”或“名称服务器管理”的区域。

    通常通过查看帐户信息,然后查找如“我的域”之类的链接,便可以找到 DNS 记录页面。 转到该页面,然后查找名称类似于“区域文件”、“DNS 记录”或“高级配置”的链接 。

    以下屏幕截图是 DNS 记录页的一个示例:

    Screenshot that shows an example DNS records page.

  3. 选择“添加”或相应的小组件来创建记录。

注意

对于某些提供商(例如 GoDaddy),在你选择单独的“保存更改”链接之前,这些 DNS 记录不会生效 。

添加用于域验证的 TXT 记录。 TXT 记录的主机名取决于要映射的 DNS 记录类型的类型。 请参阅下表(@ 通常表示根域):

DNS 记录示例 TXT 主机 TXT 值
@(根域) asuid “自定义域”管理页中显示的域验证 ID。
www(子域) asuid.www “自定义域”管理页中显示的域验证 ID。
*(通配符) asuid “自定义域”管理页中显示的域验证 ID。

注意

通配符 * 记录不会使用现有 CNAME 记录验证子域。 可能需要为每个子域显式创建一条 TXT 记录。

3. 启用应用的域

  1. 返回“自定义域”页,选择“添加自定义域”。

    A screenshot showing how to open the Add custom domain dialog.

  2. 对于“TLS/SSL 证书”,请选择“稍后添加证书”。 完成域迁移后,可添加应用服务托管证书。

  3. 对于“TLS/SSL 类型”,请选择所需的绑定类型。

    设置 说明
    自定义域 要为其添加 TLS/SSL 绑定的域名。
    私有证书指纹 要绑定的证书。
    TLS/SSL 类型 - SNI SSL:可添加多个 SNI SSL 绑定。 选择此选项可以使用多个 TLS/SSL 证书来保护同一 IP 地址上的多个域。 大多数新式浏览器(包括 Internet Explorer、Chrome、Firefox 和 Opera)都支持 SNI(有关详细信息,请参阅服务器名称指示)。
    - IP SSL:只能添加一个 IP SSL 绑定。 选择此选项只能使用一个 TLS/SSL 证书来保护专用公共 IP 地址。 配置绑定后,请按照 2. 重新映射基于 IP 的 SSL 的记录中的步骤进行操作。
    IP SSL 仅在“标准” 层或更高层中受支持。
  4. 键入要迁移的完全限定的域名,该域名对应于所创建的 TXT 记录,如 contoso.comwww.contoso.com*.contoso.com

  5. 你应该能看到该自定义域已添加到列表中。 你还应该看到标明无绑定的红色 X。

    由于你选择了“稍后添加证书”,将会看到标明无绑定的红色 X。 它将一直保留,直到你为该域添加专用证书配置绑定

    A screenshot showing the custom domains page with the new secured custom domain.

    注意

    除非为你的自定义域配置了证书绑定,否则从浏览器到域的任何 HTTPS 请求都将收到错误或警告,具体取决于浏览器。

4. 重新映射活动 DNS 名称

唯一需要做的是重新映射活动 DNS 记录以指向应用服务。 现在,它仍然指向旧站点。

  1. (仅限 A 记录)需要应用服务应用的外部 IP 地址。 在“自定义域”页中,复制应用的 IP 地址。

    A screenshot showing how to copy the App Service app's external IP address.

  2. 返回到域提供商的 DNS 记录页,选择要重新映射的 DNS 记录。

  3. 重新映射 A 或 CNAME 记录,如下表中的示例所示:

    FQDN 示例 记录类型 主机 Value
    contoso.com (root) A @ 通过复制应用的 IP 地址获得的 IP 地址
    www.contoso.com(子域) CNAME www <app-name>.chinacloudsites.cn
    *.contoso.com(通配符域) CNAME * <app-name>.chinacloudsites.cn
  4. 保存设置。

在 DNS 传播发生后,DNS 查询应立即开始解析应用服务应用。

常见问题

迁移实时域时,能否添加应用服务托管证书?

可向已迁移的实时域添加应用服务托管证书,但必须在重新映射活动 DNS 名称之后添加。

如何从其他应用迁移域?

可以在订阅之间或者在同一订阅内部迁移 Azure 中的活动自定义域。 但是,这种不停机的迁移方案需要在特定的时间为源应用和目标应用分配同一个自定义域。 因此,需确保两个应用未部署到同一个部署单元(在内部称为“Web 空间”)。 一个域名只能分配到每个部署单元中的一个应用。

可以通过查看 FTP/S URL <deployment-unit>.ftp.chinacloudsites.chinacloudapi.cn 的域名,找到应用的部署单元。 检查并确保源应用与目标应用的部署单元不同。 应用的部署单元由它所在的应用服务计划决定。 该部署单元是在创建计划时由 Azure 随机选择的,且无法更改。 在同一资源组同一区域内创建两个应用时,Azure 会将它们置于同一部署单元中。 但是,无法确保反过来也成立。 换句话说,在不同部署单元中创建计划的唯一方法是在新的资源组或区域中不断地创建计划,直到获得不同的部署单元。

后续步骤

了解如何将自定义 TLS/SSL 证书绑定到应用服务。