这张清单是从实际踩过的坑里排出来的。每一条的共同点是:面板显示“已完成”,但线上不是那样。

判断标准只有一句:不看控制台怎么说,看外部能看到什么。 下面每条都给了“从外面看”的验法。

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 回滚命令是否写在旁边

查什么:动手之前,先把回滚命令写下来,贴在手边。

为什么:出事的时候人是慌的,靠回忆拼命令一定会拼错。回滚命令应该和变更动作一起准备,而不是出事后现找。


怎么用

三种时机:

  1. 新站上线:全部过一遍,一小时。
  2. 换服务器或搬家:重点过 A2、C3、D1——这三项是搬家专属事故。
  3. 每次发版:只过 D1 和 C2 两项,两分钟。

最后一条经验:这 12 项里,凡是“面板说已完成”的,都要从外部再验一次。 面板展示的是它做过什么,不是世界看到了什么。