Hosting migration checklist — checking DNS, MX, SSL before and after moving a site

主机迁移听起来只是"将文件从一个地方复制到另一个地方"。但是,迁移后网站停机、电子邮件消失数小时或半数客户仍看到旧网站 — 这些都来自同一个原因:没人在迁移前检查设置,完成后无法比较。本文介绍了在迁移前、期间和之后需要检查的6件事,以确保您的网站永不停机。

为什么主机迁移通常会中断

大多数问题不在网站文件或数据库中 — 它们在人们忘记的周围配置中:许多现有DNS记录、电子邮件MX记录、SSL证书和使变更缓慢生效的TTL值。当您只移动文件而不移动所有这些时,网站最终会出现"半新半旧" — 一些访客看到新网站,其他访客仍然停留在旧网站上。

主机迁移中需要检查的6件事

1 — 记录旧主机上的每个DNS条目

在触碰任何东西之前,打开旧主机上的DNS面板,将每条记录写下来 — A、AAAA、CNAME、MX、TXT(包括SPF/DKIM)、以及SRV和CAA(如果存在)。最常被遗漏的项目是用于验证其他服务的小型子域和TXT记录。遗漏一条,电子邮件或某个服务会停止工作。

2 — 仔细检查MX记录和电子邮件

电子邮件是最隐蔽的中断部分。如果旧主机也存储您的邮件,决定是否也迁移它或使用单独的供应商。记录每条MX条目、其优先级和TXT记录(SPF/DKIM/DMARC)。遗漏单条SPF行将导致迁移后的每封电子邮件都直接进入垃圾邮件。

3 — 在切换DNS前在新主机上设置SSL

在指向DNS之前先在新主机上安装SSL。如果先切换DNS后再签发SSL,间隔期内的访客会看到"不安全"警告。大多数现代主机自动签发Let's Encrypt,但您应该始终先确认成功。

4 — 检查WHOIS、名字服务器和TTL

检查WHOIS以确认域在迁移窗口期间不会过期,并注意使用的名字服务器。然后在实际迁移前至少24-48小时降低重要记录的TTL为300秒(5分钟),以便DNS更改快速生效。

TTL提示:TTL是全球DNS服务器"记住"旧值的时间。如果TTL = 86400(1天),过去的访客在迁移后可能会停留在旧值上长达一天。在迁移前降至300,迁移完成后再恢复。

5 — 切换后检查DNS传播

在指向新主机后,不要假设完成了。DNS传播可能需要数分钟到数小时。从多个位置检查世界各地是否一致地看到新IP,然后再关闭旧主机。

6 — 比较迁移前后,然后停用旧主机

最容易被忽视的步骤 — 确认新主机上的每条记录匹配您从旧主机记录的内容:DNS、MX、SSL。在至少3-7天后且确认一切正常工作时,才取消旧计划。

迁移前准备文件和数据库

除了DNS和邮件记录,您的网站文件和数据库是任何迁移的核心。遵循正确的顺序很重要:

在开始前进行完整备份

一次性备份旧主机中的所有内容:所有网站文件(HTML、CSS、JS、PHP、图像、上传)和每个MySQL/MariaDB数据库。如果您使用DirectAdmin,内置备份功能可一键将所有内容导出为.tar.gz存档。

在切换DNS前通过hosts文件测试新主机

在新主机上上传文件并恢复数据库后,不要立即切换DNS — 先通过临时编辑本地hosts文件来测试网站,使您的浏览器指向新服务器的IP:

# Windows: C:\Windows\System32\drivers\etc\hosts
# macOS / Linux: /etc/hosts
# 添加这一行(用新主机的实际IP替换)
1.2.3.4   yourdomain.com
1.2.3.4   www.yourdomain.com

浏览网站并确认每个页面正确加载、图像显示、表单提交且SSL锁是绿色的。验证后,移除hosts文件条目并继续进行真正的DNS切换。

通常需要更新的配置文件

文件需要更新的内容
wp-config.php (WordPress)DB Host、DB Name、DB User、DB Password
.env (Laravel/PHP)DB credentials、APP_URL、MAIL_HOST
config.php / settings.php数据库连接、基础URL
.htaccessRewriteBase、自定义服务器路径
PHP session路径确认session_save_path可写

主机迁移期间处理SSL

SSL证书绑定到服务器,而不是域 — 您需要在目标主机上签发新证书。仔细规划这个,以便用户永远看不到"不安全"警告:

迁移时Let's Encrypt与付费证书

Let's Encrypt(免费)在大多数现代主机上自动签发,包括AsiaGB,但它需要DNS先指向服务器。付费SSL证书可以在不先指向DNS的情况下通过DNS-01质询验证,让您在迁移前在新主机上安装SSL:

迁移前检查SSL过期时间

如果您当前的证书在30天内过期,在迁移前更新或重新签发它,这样您就不必同时处理两项任务。您可以在dnsxray.com/ssl上免费检查SSL过期时间。

迁移后检查清单 — DNS传播完成后需验证的内容

一旦DNS传播完成且所有访客都访问新主机,在宣布迁移完成前运行此检查清单:

检查项目测试方法预期结果
网站正确加载打开隐私浏览窗口所有页面加载,无错误
SSL工作查看浏览器中的锁定图标闭合的锁,无警告
发送电子邮件发送测试消息到Gmail/Outlook投递到收件箱,非垃圾邮件
接收电子邮件从Gmail发送到您的@domain正常到达收件箱
网页表单工作测试联系表单、登录提交成功,无500错误
重定向正确检查.htaccess重定向规则指向正确的页面

常见迁移错误及其修复方法

基于数百次迁移协助,以下是最常见的问题及其解决方法:

1. 迁移后混合内容警告

网站显示不完整或破损的SSL锁,因为某些图像或脚本仍使用http://而不是https://。通过搜索数据库(WordPress用户可使用Better Search Replace插件)或在浏览器DevTools控制台选项卡中检查混合内容错误来修复。

2. 发出的电子邮件进入垃圾邮件

主要原因是SPF记录仍列出旧主机的IP。更新SPF的TXT记录以包括新服务器,然后验证DKIM是否正确设置,DMARC是否配置。使用dnsxray.com/mailtest检查您域的电子邮件身份验证。

3. 数据库连接错误

WordPress或其他CMS显示"建立数据库连接出错" — 这几乎总是意味着配置文件中的数据库凭据未更新。编辑wp-config.php或等效配置文件,使用新主机的DB主机名、用户名和密码。

用于比较迁移前后设置的工具

手动逐条记录记录存在遗漏的风险。更快、更可靠的方法是使用集中式域名健康工具 — 在迁移前运行一次以获取旧设置的完整图景,然后在之后运行以进行比较。

例如,dnsxray.com是一个域名健康工具,在单次查询中显示DNS、邮件服务器、SSL和WHOIS,具有"另存为PDF"功能 — 完美适合在迁移前保存域名设置"快照"以便之后比较。

推荐工作流程:1)打开dnsxray.com,在迁移前检查域 → 将结果保存为PDF。2)迁移主机并切换DNS。3)用相同工具重新检查,然后逐行比较新值是否完整且正确。

简短的检查清单

阶段需要做什么
提前48小时记录/检查所有DNS、MX、SSL、WHOIS · 降低TTL至300
在切换DNS前在新主机上准备好网站、数据库和SSL
迁移时切换DNS/名字服务器以指向新主机
迁移后0-48小时检查传播 · 比较迁移前后 · 测试电子邮件
迁移后3-7天确认一切正常 → 恢复TTL → 停用旧主机

常见问题

问:主机迁移期间我的网站会停机吗?

如果您按正确顺序进行 — 在切换DNS前准备新主机 — 网站基本上不会停机。访客总是被路由到拥有网站的一台或另一台服务器。问题发生在新主机准备好之前切换DNS的时候。

问:DNS传播需要多长时间?

如果您提前降低了TTL,通常只需数分钟到数小时,但理论上可能需要24-48小时 — 所以不要立即关闭旧主机。

问:还需要什么来一并迁移电子邮件?

您需要移动旧邮箱(例如通过IMAP同步)并在新系统上完整设置MX/SPF/DKIM。迁移后始终通过发送邮件进出来测试。

问:AsiaGB为我迁移网站吗?

是的 — AsiaGB为新客户提供免费网站迁移。团队完整检查DNS、MX和SSL并在真正切换前测试。

总结:按照简单原则平滑迁移主机 — 在迁移前检查并记录所有内容,在切换DNS前准备好新主机,提前降低TTL,然后使用域名健康工具比较迁移前后。遵循这6点,您的网站不会掉线。

迁移到AsiaGB — 我们免费迁移您的网站

AsiaGB团队迁移您的网站和数据库,完整设置DNS/SSL,在真正切换前进行测试 — SSD托管起价泰铢500/年,99%正常运行时间,DirectAdmin,每月备份两次。

查看托管计划