服务器迁移前怎么测试新网站?不改 DNS,先检查域名和 HTTPS
网站准备搬到新服务器,最担心的是域名改过去才发现图片打不开、文章报404,或者后台一直跳回旧站。可以先让自己的一次访问连接到新 IP,同时保留原来的域名。这样不用先修改公开 DNS,就能检查新服务器是否配置正确。
先恢复网站、配置原域名和 HTTPS,再用 curl --resolve 指定新 IP 检查页面。确认新站能正常运行后,才安排最后一次数据同步和域名切换。这个方法检查的是指定服务器的响应,不能代替 CDN、邮件或支付等业务检查。
为什么直接打开新服务器的 IP 不够?
同一台服务器可能放着多个网站,Web服务器要根据域名选择站点。直接打开 IP,可能看到默认页面,而不是迁移后的网站。HTTPS 还会检查证书是否与域名匹配;IP 能访问,并不等于原域名能正常访问。
测试前先把网站文件和数据库恢复好,在新服务器上配置原来的域名、网站目录和证书。不要为了看见页面,就把正式网站地址随手改成 IP。单站 WordPress 在域名和目录不变时,通常保留原来的网址设置;数据库连接信息变化则要更新配置。具体情况见WordPress 迁移说明。
不用改 DNS,怎样指定新 IP 访问?
在安装了 curl 的电脑上执行下面的命令。把 example.com 换成你的域名,把 203.0.113.10 换成新服务器公网 IP;这里的地址仅作示例,不是可供测试的服务器。
curl --noproxy example.com --connect-timeout 10 --max-time 30 --resolve example.com:443:203.0.113.10 -sS -D - -o /dev/null https://example.com/
--resolve 为这次请求指定域名、端口和 IP,公开 DNS 不会改变。--noproxy 让该域名的请求直接连接目标,避免环境中的代理代替你解析地址;若所在网络要求使用代理,应按网络规则选择可用的测试环境。这条命令使用 GET 请求,显示响应头,不显示正文,也不自动跟随跳转。用法见curl 参数说明。
HTTPS 会继续检查原域名的证书。如果报证书错误,先修正新服务器证书配置;不要加 -k 跳过校验后就认为 HTTPS 已经正常。如果源站只使用 CDN 专用证书或只允许 CDN 回源,普通电脑直连可能无法通过,需使用适合该配置的回源检查方式,不能为测试随意关闭访问限制。
首页成功之后,再查文章、图片和跳转
把命令末尾的网址分别换成真实文章路径和图片地址,域名及 --resolve 保持对应。正常页面通常应返回200;不存在的地址应按网站设计返回404。返回200只说明请求成功,还要确认正文属于新站,不能把统一错误页当成正常页面。
需要查看正文时,去掉 -o /dev/null。可以检查新站特有的测试标记或内容,并结合新源站访问日志确认请求到达了哪里。不要把含客户资料的响应或日志贴到公开文章里。
遇到301或302,先看 Location 指向哪里。例如裸域跳到 www.example.com,继续检查时也要为 www 域名指定新 IP。否则自动跟随跳转可能又访问旧服务器,误以为新站已经通过。HTTP 的80端口也需要另行指定;443的设置不会替代80。
curl --noproxy www.example.com --connect-timeout 10 --max-time 30 --resolve www.example.com:443:203.0.113.10 -sS -D - -o /dev/null https://www.example.com/
文章404但首页正常,重点检查网站目录、固定链接及重写规则;图片打不开则检查文件是否完整、路径与权限是否正确,不要立即把整个目录设成任何人可写。
想用浏览器检查后台和页面,该怎么做?
curl 不会运行页面里的 JavaScript,也不能替你完成后台登录和表单操作。想用浏览器查看,可以在自己的测试电脑临时设置 hosts,把需要测试的域名指向新 IP;修改需要管理权限,只影响这台电脑。记录原配置,完成后还原,并处理浏览器或系统缓存。
hosts 文件只写 IP 和域名,不写 https:// 或页面路径。裸域和 www 是否都要设置,取决于网站实际使用的地址。不要修改路由器或公司的共享 DNS 来做个人测试。
测试站先停用会发真实邮件、执行定时写入或触发支付等业务的功能。登录后台、查看文章和图片后,再按实际需求检查表单与应用;浏览器也要确认访问的是新站。不要用真实下单来替代沙箱验收。更多检查可配合WordPress 上线清单完成。
新站测试通过,就可以直接切换吗?
还要处理测试期间旧站新增的数据。比如周一恢复了备份,周二才切换,期间的文章、评论和订单不会自动出现在新站。安排维护时间,暂停需要同步的写入,再完成最后一次文件和数据库同步,重新检查后切换。
切换后保留旧环境一段时间,检查公开域名的 DNS、HTTPS、CDN 缓存、文章、图片及必要业务。不同访客可能在一段时间内仍访问旧 IP,要把这段时间的数据处理安排好;不能直接让新旧两站同时接收订单后再随意回切。
直接连接新 IP 通过,只证明这条直连路径通过。公开访问经 CDN 时,回源地址、证书、访问规则和缓存还需单独确认。不要把一次源站检查写成所有地区的访客访问都已经正常。
迁移前记住这四项检查
- 文件与数据库已恢复,新服务器的域名、目录和证书配置正确。
- 首页、文章和图片实际来自新站,跳转后没有偷偷回到旧服务器。
- 需要浏览器操作的功能已单独检查,测试不会触发真实业务。
- 已安排最后一次同步、切换后检查和必要的回退数据处理。
先把新站检查好,再切换流量,出问题时更容易判断是哪一步出了错。迁移前的备份安排可以参考VPS 备份与恢复指南。