一次部署,是当公共边缘与你选择的文件一致时才完成,而不是因为最后一条上传命令退出码为零。操作套件里的两个只读小工具,能让任何能到达主机的机器看到这种一致性。
检查响应头
check-http-headers.sh 抓取一个 URL,并打印响应行、响应头与重定向后的最终 URL:
check-http-headers.sh https://www.xbcatm.com/
最近对本站一次运行的结果:
HTTP/2 200
server: nginx
content-type: text/html; charset=utf-8
content-security-policy: default-src 'self'; script-src 'none'; ...
strict-transport-security: max-age=31536000; includeSubDomains
x-content-type-options: nosniff
注意正文被丢弃,只显示响应线之外的状态行。要比较一次发布前后的变化,保存一份基线并把新的输出与之相减。
读取证书日期
check-tls-expiry.sh 从 TLS 握手读取服务器证书的过期日期,而不改变服务:
check-tls-expiry.sh www.xbcatm.com 30
它打印证书的 notAfter 以及到该日期剩余的天数。如果剩余天数低于阈值,它以非零状态退出——适合加进发布冒烟测试。
发布冒烟测试里它们配合使用
排定发布冒烟测试时,让一个命令确认法着陆状态,另一个确认即将过期的证书。剩下的剩余风险是活动报表之外、真正浏览无法发现的内容——例如重量级第三方脚本,或是仅在大流量出现的缓存问题。一条只读输出现场完成不了这些,仍需一次真实的浏览器会话。
来源
- RFC 9110 — HTTP Semantics,响应语义与条件请求,已核验 2026-08-24。
- OpenSSL
s_client,TLS 连接与证书日期检查,已核验 2026-08-24。 - 制品 HTTP 响应头检查,贯穿本记录使用的只读检查。