域名更换服务器前怎么降低TTL?避免新旧IP长时间并存

TTL要在迁移前降,切换之后才改已经来不及
发布于 更新于
3

网站计划从旧服务器迁到新服务器,切换当天才把DNS TTL从86400秒降到300秒,很多地区仍可能继续访问旧IP。原因是递归DNS此前已经按旧TTL缓存了记录;后来修改的300秒只影响新的查询,不能让已有缓存提前失效。

降低TTL的正确做法不是“切换时顺手改一下”,而是提前完成、等待原TTL窗口过去,再切换A、AAAA或CNAME。与此同时,新旧服务器要并行运行,数据和回源策略也要准备好。

TTL在迁移中到底控制什么

TTL告诉递归DNS一条记录可以缓存多久。它能缩短解析切换的理论缓存窗口,但不能控制浏览器连接复用、CDN页面缓存、运营商异常缓存、客户端hosts,也不能保证所有用户在同一秒切换。

项目 是否由DNS TTL直接控制 迁移时怎么处理
A/AAAA/CNAME缓存 是,按获取记录时的TTL倒计时 提前降低并等待旧TTL过期
浏览器现有连接 依靠连接结束和应用重试
CDN内容缓存 单独设置HTTP缓存和刷新策略
CDN回源地址 不一定 在CDN控制台独立切换并验证
数据库数据 设计同步、只读或停写窗口
第三方IP白名单 提前加入新地址并保留旧地址过渡

迁移前先做一份完整盘点

  • 根域和 www 使用的是A、AAAA、CNAME还是CDN托管记录;
  • 当前TTL是多少,最长旧缓存窗口到什么时候结束;
  • 是否存在IPv6、API子域、下载域、邮件和其他共用IP的服务;
  • CDN或WAF当前回源IP、端口、Host、HTTPS验证方式;
  • 数据库、用户上传文件、会话、任务队列和对象缓存如何同步;
  • 第三方支付、接口、数据库、防火墙是否按源IP或目标IP加白名单;
  • 旧服务器何时可以停止,以及回滚由谁执行。

只迁移首页文件而忽略数据库写入、上传目录和后台任务,可能导致新旧站在DNS过渡期分别产生数据,最后无法简单合并。

按时间安排TTL降低与切换

阶段一:提前降低TTL

假设当前TTL是86400秒,计划周五切换,应至少提前一个完整旧TTL周期把相关记录降到300或600秒,并确认所有权威服务器都返回新TTL。关键业务通常会留更充足的观察时间。

降低后,不是立即具备快速切换能力;必须等在降低前缓存的旧记录自然到期。记录降低动作的准确时间,计算最晚旧缓存结束点。

阶段二:新服务器预上线

在不改变公共DNS的情况下,用hosts或 curl --resolve 按真实域名测试新IP,核对TLS证书、SNI、重定向、静态资源、登录、写入和定时任务。新环境要能接受正式Host,而不是只支持IP访问。

同步部署安全组、系统防火墙、监控、备份、日志和证书续期。若使用CDN,可先创建新源站配置或按平台能力做小流量测试。

阶段三:建立数据过渡方案

纯静态网站可以较容易地让两台服务器并行;有写入的WordPress、电商或社区站点需要更谨慎。常见方案包括数据库复制、共享存储、短暂维护窗口、切换前冻结写入,或让旧站统一写入同一后端。选择要根据业务架构和一致性要求决定,不能只依赖DNS。

阶段四:切换解析并监控

在变更窗口修改A、AAAA、CNAME或CDN回源,立即直接查询权威DNS,再比较多个递归服务。监控新旧服务器的访问量、错误率、TLS、回源、数据库写入和关键业务流程。

旧服务器应继续提供兼容内容,不要看到自己电脑已到新IP就立即关机。过渡期内仍有请求落到旧站,可能来自有效DNS缓存、长连接或第三方系统。

阶段五:确认稳定后恢复TTL

当旧缓存窗口、业务观察期和回滚期限都结束,确认旧服务器不再承载必要请求,再下线旧环境。随后把TTL恢复到适合稳定运行的值,并更新资产、监控和应急文档。

IPv6、CDN和证书不要漏项

如果只改A记录,AAAA仍指向旧服务器,双栈用户可能继续访问旧站;新服务器没有IPv6能力时,不应保留一个不可达AAAA。CDN接入站点还要区分用户到边缘的DNS与边缘到源站的回源配置,两处可能需要分别切换。

TLS证书必须在新服务器或CDN边缘提前部署。证书自动续期依赖DNS或HTTP验证时,也要确认迁移后的验证路径不会失效。旧站的强制跳转、HSTS和Cookie域设置同样会影响验收。

怎样设计可执行的回滚

回滚不能只写“改回旧IP”。应提前保留旧服务器、旧DNS值、旧CDN回源配置和数据库一致性方案,并明确何种错误率或业务失败触发回滚。切回旧IP仍受当前TTL影响,因此TTL低值要保持到迁移稳定之后。

如果切换后新站已经产生写入,再直接回旧数据库可能丢数据。回滚流程必须说明新增订单、评论、上传文件或账号变更如何处理。

迁移验收清单

  1. 所有权威服务器返回正确的新记录和预期TTL;
  2. 多个递归DNS逐步切到新地址,旧地址仍可安全服务;
  3. IPv4、IPv6、根域、www和关键子域分别通过;
  4. CDN、证书、回源、WAF和服务器日志正常;
  5. 登录、写入、上传、支付或API等关键流程通过;
  6. 第三方白名单、监控、备份和证书续期已更新;
  7. 过渡期结束后旧环境下线,TTL恢复并形成变更记录。

多地解析与站长工具可以从极跃圈网址导航查找。一次稳妥迁移的核心不是追求“所有用户瞬间切换”,而是让新旧服务器在缓存共存期间都能正确服务,并且出现问题时可以有序回滚。

常见问题(FAQ)

迁移前多久降低TTL?
至少等待旧TTL完整过期后再切换,具体提前量取决于当前记录TTL和业务风险。
TTL越低越好吗?
不是,低TTL增加查询负载并不保证所有缓存严格遵守,迁移后应恢复合理值。
只改A记录够吗?
还要检查AAAA、CNAME、CDN回源、邮件和其他依赖旧IP的记录。

本文由作者原创/授权发布于极跃圈(jiyueip.com)未经许可,禁止转载。题图来自Unsplash,基于CC0协议。

声明:极跃圈(JIYUEIP.com)内网友所发表的所有内容及言论仅代表其本人,并不反映任何极跃圈(JIYUEIP.com)之意见及观点。

0 讨论
热门最新
总结
暂无总结
0 / 600