博客

将域名指向平台:DNS、生效传播与 SSL 详解

把自己的域名连接到平台,听起来很技术, 实际上只需十分钟左右,然后就是等待。下面说明 背后到底发生了什么,这样等待就不会让人以为是出了问题。

一段话说清什么是域名

域名只是一个标签,本身并不指向任何地方。互联网通过 DNS 来解析它——DNS 是一个把名称映射到服务器的分布式目录。当您 “连接域名”时,其实是在域名注册商处修改这条目录记录, 让它指向托管您网站的平台。

您会遇到的记录

  • A 记录——把名称直接映射到 IP 地址。通常 用于根域名,例如 example.com。
  • CNAME——把名称映射到另一个名称。通常用于 www,这样无论平台迁移到哪里,它都会自动跟随。
  • TXT——纯文本,用于验证。平台会要求 您添加一段特定字符串,以证明您确实拥有该域名的控制权, 防止他人冒领。

为什么不能立即生效

DNS 应答是有意被缓存的。访问者与目录之间的每一个解析器 都会在记录的 TTL 所规定的时间内保留之前的应答—— 通常是一小时,有时更久。在这些缓存过期之前,有些人看到的是 新网站,有些人仍看到旧网站。这就是传播。它不是排队, 提交任何支持工单也无法让它更快。

两个实际影响:

  • 迁移前先调低 TTL,最好提前一天。把 TTL 设为 300 秒,一整天的不确定就能缩短到五分钟。
  • 不要用自己的浏览器判断是否切换成功。它是您 缓存最多的设备。请用移动数据网络检查,或使用 DNS 查询工具。

然后是证书

DNS 指向平台后,网站仍然需要 HTTPS。如今证书都是 自动签发的,但签发机构必须先看到域名解析到 正确的位置,才会签发。所以顺序永远是: DNS 第一,证书第二,小锁图标第三。如果小锁 还没出现,通常是 DNS 变更还没完成,而不是 证书签发失败。

稳妥的操作顺序

  1. 提前一天,调低现有记录的 TTL。
  2. 添加用于验证的 TXT 记录,并确认平台已识别。
  3. 在切换之前,先在平台地址上搭建并预览新网站。
  4. 将 A 记录和 CNAME 指向平台。
  5. 等待。用一台从未访问过旧网站的设备检查。
  6. 确认证书,然后设置重定向,让根域名和 www 都跳转到同一个地方。

请把域名注册商的账户信息放在您能找到的地方。域名迁移 卡住最常见的原因,就是没人记得当初是谁注册的。