这张清单是从实际踩过的坑里排出来的。每一条的共同点是:面板显示“已完成”,但线上不是那样。
判断标准只有一句:不看控制台怎么说,看外部能看到什么。 下面每条都给了“从外面看”的验法。
A. 域名与解析
A1 到期日、自动续费、以及绑的那张卡
查什么:域名到期日、宽限期结束日、赎回期结束日;自动续费是否开启;绑定的卡是否还有效、账号是否欠费。
为什么要查三个日期:真正能挽回的时间是第三个,不是第一个。
→ 深挖:域名不是买断,是租
A2 解析是否已经全球生效
查什么:用两个以上不同地区的公共 DNS 分别解析,看返回的 IP 是否一致。
nslookup 你的域名 223.5.5.5
nslookup 你的域名 119.29.29.29
不一致就是还在传播,或者被分区解析了。你本地能打开,不等于别人能打开。
→ 深挖:客户说打不开,你这边正常
A3 备案状态(国内服务器)
查什么:域名是否已在接入商处完成备案、子域名是否随主域名继承。
怎么验:不是看备案系统里“已通过”,是从公网访问一次,看有没有被插入拦截页。拦截页也是 200。
B. 证书与跳转
B1 证书是不是真的生效了
查什么:浏览器锁标、证书有效期、签发对象。面板上写“已部署”不算证据。
curl -sI https://你的域名 | head -1
echo | openssl s_client -connect 你的域名:443 -servername 你的域名 2>/dev/null | openssl x509 -noout -dates -subject
最容易被忽略的一步:证书装完要 reload,不 reload 等于没装。 面板说“部署成功”只是把文件放下去了。
B2 http 是否 301 到 https
查什么:用 http 访问一次,看返回码和跳转目标。
curl -s -o /dev/null -w "%{http_code} %{redirect_url}\n" http://你的域名/
要的是 301 加上 https:// 开头。返回 200 说明两个协议都能直连,等于没有强制;返回 302 是临时跳转,搜索引擎处理方式不同。
B3 HSTS 与协议版本
查什么:响应头里有没有 Strict-Transport-Security;TLS 版本是否还允许 1.0/1.1。
curl -sI https://你的域名 | grep -i strict-transport
顺手把 ssl_protocols 收到 TLSv1.2 以上——这一步不影响功能,只影响扫描报告,但报告难看会吓到客户。
C. 页面与资源
C1 不存在的路径必须返回 404,不是 200
查什么:随便造一个不存在的地址访问。
curl -s -o /dev/null -w "%{http_code}\n" https://你的域名/no-such-page-xyz
必须是 404。返回 200 说明重写规则把不存在的路径也接住了——搜索引擎会把一堆空页面收进去,稀释整站质量。
C2 首页、关键页、静态资源都要通
查什么:不只测首页。首页 200 但 CSS 404 的站,用户看到的是纯文字。
curl -s -o /dev/null -w "%{http_code}\n" https://你的域名/
curl -s -o /dev/null -w "%{http_code}\n" https://你的域名/样式文件路径.css
C3 页面里没有测试环境的残留地址
查什么:搜页面源码里有没有 localhost、127.0.0.1、example.com、旧域名。
为什么容易漏:站点地址通常写死在构建配置里,构建一次就固化进产物。搬家、换域名之后最容易带出来——表现是“样式丢了一半”“链接跳到别的站”。
D. 部署与回滚
D1 部署是否可验证
查什么:不看脚本输出,看线上产物。
三个证据:文件修改时间、关键页面的内容是否更新、以及一个只有新版本才有的特征(比如新加的一行字)。
为什么要这样:脚本里的 git push 失败、rsync 中途断开、解压覆盖不完整,都不会让脚本报错,它照样打印“完成”。你信的是它的自述。
D2 备份是否验证过能恢复
查什么:不是“有没有备份”,是“最近一次恢复演练是什么时候”。
最小验证:把备份解到一个空目录,看文件数和关键文件是否齐全。这一步五分钟,能挡住“备份一直是空的”这种最坏情况。
D3 回滚命令是否写在旁边
查什么:动手之前,先把回滚命令写下来,贴在手边。
为什么:出事的时候人是慌的,靠回忆拼命令一定会拼错。回滚命令应该和变更动作一起准备,而不是出事后现找。
怎么用
三种时机:
- 新站上线:全部过一遍,一小时。
- 换服务器或搬家:重点过 A2、C3、D1——这三项是搬家专属事故。
- 每次发版:只过 D1 和 C2 两项,两分钟。
最后一条经验:这 12 项里,凡是“面板说已完成”的,都要从外部再验一次。 面板展示的是它做过什么,不是世界看到了什么。