本文介绍如何在不停机的情况下,将活动 DNS 名称迁移到 Azure 应用服务。
将实时站点及其 DNS 域名迁移到应用服务时,该 DNS 名称已在提供实时流量。 通过在迁移期间抢先将活动 DNS 名称绑定到应用服务应用,可以避免 DNS 解析停机。
如果不担心 DNS 解析中的停机时间,请参阅 将现有的自定义 DNS 名称映射到 Azure 应用服务。
若要完成这些步骤, 请确保应用服务应用不在免费层中。
抢先绑定自定义域时,先完成以下两项作,然后再对现有 DNS 记录进行任何更改:
- 通过向域提供商添加域验证 ID 来验证域所有权。
- 在应用服务应用中启用域名。
稍后将自定义 DNS 名称从旧站点迁移到应用服务应用时,DNS 解析不会停机。
在 Azure 门户中,打开应用服务应用的管理窗格。
在应用页的左侧窗格中,选择“自定义域”。
在 “自定义域 ”窗格中,复制 “自定义域验证 ID ”框中的 ID。 在后续步骤中使用此 ID。
请登录到域提供商的网站。
可使用 Azure DNS 来管理域的 DNS 记录,并为 Azure 应用服务配置自定义 DNS 名称。 有关详细信息,请参阅教程:在 Azure DNS 中托管域。
查找管理 DNS 记录的页面。
每个域提供商都有自己的 DNS 记录界面,因此请查阅提供商的文档。 查找站点中标记为“域名”、“DNS”或“名称服务器管理”的区域。
通常通过查看帐户信息,然后查找如“我的域”之类的链接,便可以找到 DNS 记录页面。 转到该页面,然后查找名称类似于“区域文件”、“DNS 记录”或“高级配置”的链接 。
以下屏幕截图是 DNS 记录页的一个示例:
选择“添加”或相应的小组件来创建记录。
备注
对于某些提供商(例如 GoDaddy),在你选择单独的“保存更改”链接之前,这些 DNS 记录不会生效 。
添加 TXT record
以进行域验证。
TXT record
主机名取决于要映射的 DNS 记录的类型。 请参阅下表(@
通常表示根域):
DNS 记录示例 | TXT 主机 | TXT 值 |
---|---|---|
\@ (根) |
_asuid_ |
自定义域管理窗格中显示的域验证 ID |
www (sub) |
_asuid.www_ |
自定义域管理窗格中显示的域验证 ID |
\* (通配符) |
_asuid_ |
自定义域管理窗格中显示的域验证 ID |
备注
通配符 *
记录不会验证已有 CNAME record
的子域。 可能需要为每个子域显式创建一个 TXT record
。
在“ 自定义域 ”窗格中,选择“ 添加自定义域”。
若要配置第三方域,请在 域提供程序中选择 所有其他域服务。
对于“TLS/SSL 证书”,请选择“稍后添加证书”。 完成域迁移后,可以添加应用服务托管证书。
对于“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 仅在“标准” 层或更高层中受支持。键入要迁移的完全限定域名,该域名应与您所创建的
TXT record
相对应。 例如:contoso.com
、www.contoso.com
或*.contoso.com
。选择“验证”。 尽管对话框显示了您应用的自定义域正常运行所需的两条记录,但只需域验证 ID(即
TXT record
),验证就可以通过。如果 “域验证 ”部分显示绿色复选标记,则正确配置了域验证 ID。 选择 并添加。 如果显示任何红色 X 标记,请修复域提供商网站上的错误。
应该会在列表中看到自定义域。 你可能还会看到红色的 X 没有绑定。
由于稍后选择了 “添加证书”,因此会看到一个 红色的 X,没有绑定。 在 为域添加专用证书 并 配置绑定之前,该证书将保持不变。
备注
除非为自定义域配置证书绑定,否则从浏览器到域的任何 HTTPS 请求都会收到错误或警告,具体取决于浏览器。
将活动 DNS 记录重新映射以指向应用程序服务。 在此步骤完成之前,它仍然指向您的旧网站。
A record
仅:获取应用服务应用的外部 IP 地址。 在 “自定义域 ”窗格中,复制应用的 IP 地址。在域提供商的 DNS 记录窗格中,选择要重新映射的 DNS 记录。
将
A
或CNAME record
重新映射为下表中的示例所示例子。FQDN 示例 记录类型 主机 价值 contoso.com
(根)A
@
IP 地址来自复制应用的 IP 地址 www\.contoso.com
(子目录)CNAME
www
_<app-name>.chinacloudsites.cn_
\*.contoso.com
(通配符)CNAME
_\*_
_<app-name>.chinacloudsites.cn_
保存设置。
在 DNS 传播发生后,DNS 查询应立即开始解析应用服务应用。
可向已迁移的实时域添加应用服务托管证书,但必须在重新映射活动 DNS 名称之后添加。
可以在订阅之间或同一订阅之间迁移 Azure 中的活动自定义域。 但是,若要在不停机的情况下实现迁移,必须在某个时间为源应用和目标应用分配相同的自定义域。 因此,需确保两个应用未部署到同一个部署单元(在内部称为“Web 空间”)。 一个域名只能分配到每个部署单元中的一个应用。
可以通过查看 FTP/S URL <deployment-unit>.ftp.azurewebsites.chinacloudapi.cn
的域名,找到应用的部署单元。 请确保源应用和目标应用之间的部署单元不同。 应用的部署单元由它所在的应用服务计划决定。 创建计划时,Azure 会随机选择它,并且无法更改它。 在同一资源组和同一区域内创建两个应用时,Azure 会将它们置于同一部署单元中。 但是,无法确保反过来也成立。 换句话说,在不同部署单元中创建计划的唯一方法是在新的资源组或区域中不断地创建计划,直到获得不同的部署单元。
了解如何将自定义 TLS/SSL 证书绑定到应用服务: