子域名解析改版或迁移时应核对什么

📍 WDQWDWQD987AAAAA:216.73.217.152
📱 Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
🔗 /5d76d4886d66.html
📄

子域名解析改版或迁移时应核对什么

改版或迁移时核对子域名解析,核心是确认“旧解析记录是否仍指向正确目标、新记录是否已生效、不同地区与不同网络是否看到一致结果”。如果只改了一台服务器或只改了一处记录,而其他解析记录、缓存和证书配置没有同步,就可能出现部分用户访问旧页面、部分用户访问新页面的情况。下面从一个假设场景展开,说明要核对什么、怎么查、常见错误在哪里。

假设场景:把 blog.example.com 从旧主机迁到新主机

假设某站点把 blog.example.com 从旧虚拟主机迁移到新服务器,同时主站 www.example.com 也做了改版。迁移后有人反馈“有时是新页面,有时是旧页面”,这时不能直接断定是 DNS 没生效,因为可能的原因至少包括:解析记录未完全更新、本地 DNS 缓存未过期、CDN 或反向代理仍回源旧地址、服务器虚拟主机配置未绑定新域名、HTTPS 证书未覆盖该子域名。需要逐项收集证据,而不是只刷新一次页面就下结论。

核对解析记录本身:类型、主机名、目标值是否一致

先列出该子域名当前使用的解析记录。常见类型包括 A、AAAA、CNAME。需要核对的是:主机名是否写对,例如 blog 与 blog.example.com 在不同服务商界面中的填写方式可能不同;记录值是否指向迁移后的目标;是否存在同一主机名同时配置了多条相互冲突的记录。如果旧记录是 A 记录指向旧 IP,新方案是 CNAME 指向新地址,却只新增了 CNAME 而没有删除旧 A 记录,就可能出现解析结果不稳定。

可执行的检查步骤:

  1. 在权威 DNS 服务商处导出或截图当前解析记录,标注每条记录的类型、主机名、值和 TTL。
  2. 用 dig 或 nslookup 查询该子域名,分别指定本地默认 DNS 和公共 DNS,例如 dig blog.example.com @8.8.8.8,观察返回的 IP 或 CNAME 是否一致。
  3. 如果返回多条不同记录,记录下每条结果,判断是轮询配置、旧记录残留,还是不同 DNS 缓存造成。
  4. 对照迁移方案,确认应该保留哪条、删除哪条,再决定是否修改。

判断结果:如果权威 DNS 返回的目标已经统一,但本地查询仍返回旧值,问题更可能在缓存或本地网络;如果权威 DNS 本身就返回旧值,问题在解析记录尚未改完或改错位置。

核对 TTL 与缓存:为什么改了还不生效

TTL 决定递归 DNS 和本地设备可以缓存这条记录多久。迁移前如果 TTL 设得很长,例如 86400 秒,那么修改后旧值可能仍被缓存较长时间。核对时要区分“权威记录已经改了”和“缓存还没过期”这两件事。

常见错误是:迁移当天才把 TTL 从很长调短,然后立刻改目标值。由于旧 TTL 已经生效,缓存仍会按旧时长保留。更稳妥的做法是在计划迁移前一段时间先调低 TTL,等旧缓存过期后再改记录。如果已经发生缓存未过期,可以等待,也可以从不同网络、不同 DNS 分别查询,确认权威结果与缓存结果之间的差异。

核对服务器与证书:解析对了不等于访问正常

解析只负责把域名指向某个地址,不保证该地址上的服务能正确响应这个子域名。迁移后要检查:新服务器的虚拟主机或站点配置是否绑定了 blog.example.com;如果使用 CDN 或反向代理,回源地址是否已更新;HTTPS 证书是否包含该子域名,还是只签了主域名。证书不匹配时,浏览器可能拦截访问,这会被误判为解析故障。

检查项可以包括:

核对改版后的跳转与旧链接

改版常伴随 URL 变化。如果旧子域名下的页面迁移到新路径,需要确认旧 URL 是否做了 301 跳转到新 URL,而不是直接返回 404。核对时抽取一批旧链接,逐个请求,记录状态码和最终地址。如果旧子域名本身要废弃,还要确认它是否仍能解析并跳转到新域名,而不是直接消失。

假设例子:旧地址 blog.example.com/post/1 迁移后变为 www.example.com/articles/1。如果只改了 DNS,没有配置跳转,用户访问旧地址会看到新服务器上的 404 页面。此时问题不是解析,而是跳转规则缺失。判断方法是:解析结果已指向新服务器,但请求返回 404,说明需要检查服务器重定向配置。

把证据收集完整再改

下一步可以按这个顺序执行:先记录当前权威解析结果和 TTL,再从多个网络查询实际返回,接着检查服务器绑定、证书和跳转,最后才决定是否需要修改解析。每改一项都保留修改前后记录,避免把缓存问题、服务器问题和跳转问题混在一起判断。

图1 图2

nginx