记录目录授权重启与证书推送恢复实机复核结果

This commit is contained in:
xuans 2026-09-27 01:18:59 +08:00
parent 906f23c448
commit f371ed18d6

View File

@ -22,3 +22,37 @@
代理需要将管理入口路径转发到所选上游端口,包括 `/.well-known/scert-setup/`。预检不关闭 TLS 校验、不修改代理信任库、不使用环境代理、不强制解析到测试 IP。
预检通过后关闭临时监听,保存配置并启动正式应用;预检失败则保留初始化未完成状态,并回滚候选管理证书。该检查不能替代正式应用启动、续期、推送、重启及完整生产部署验收。
## 2026年9月27日实机复核
本轮为已有故障现场的恢复复测,没有清空数据库,不属于全新初始化验收。业务操作使用浏览器页面,SSH 仅用于部署、服务及文件核验;没有新增辅助验收脚本,也没有直接调用业务接口。
### 发布身份
- 已部署源码提交:`9ac222d6db61ce0daeecb846da42852778a1036c`。
- 实机主程序 SHA-256:`c5f03a2c74a6a259ac07ab39d31239e267936a62b8f1d0de83bdef3f1c9549c1`。
- 本节文档提交晚于部署提交,不表示重新构建或部署了不同的业务代码。
### 本轮确认结果
- [✓] 自动创建的证书目录 `/ssl/scert-auto-0927` 为 `Scert:Scert 0700`,父目录 `/ssl` 保持 `root:root 0755`;持久授权仅包含所选目录,没有放开整个 `/ssl`。
- [✓] 重启 Scert 后,目录权限及 `ReadWritePaths` 保留,Scert、目录服务 socket 和 Nginx 均为运行状态;管理入口返回 HTTP 200,公共 TLS 校验结果为零。
- [✓] 重启后通过浏览器重新登录成功,首页仍显示托管域名正常及原有到期时间。
- [✓] Nginx 上游继续使用 HTTPS,并保留 `proxy_ssl_verify on`;未修改信任库或关闭证书校验。
- [✓] 上轮已保存证书但 SSH 推送失败,恢复服务器端口后,本轮仅点击“部署证书”,未重新导入。页面显示一台成功,域名从错误恢复正常。
- [✓] 第二台服务器实际 TLS 握手提供的证书序列号、到期时间和 SHA-256 指纹与导入证书一致;域名及证书链验证通过。此项为目标机实际 SNI/TLS 检查,不冒充公共 DNS 验收。
- [✓] 第二台已有六个服务的主进程和重启计数、Nginx 配置摘要、三组原业务证书及私钥摘要均与推送前基线一致;两个既有 HTTPS 站点仍返回 HTTP 200,TLS 校验结果为零。
- [✓] 按已获授权定点移除本轮安装器升级事务副本,未删除本地未跟踪文件、当前发布目录或其他业务文件。
### 本地回归范围
Windows 上重新运行 `go test ./internal/bootstrap ./internal/certstorage ./internal/httpapi ./internal/admin`,适用测试通过。目录服务的 Linux 专属测试在此平台不会执行,不能将此结果记为 Linux 权限测试通过。前端 `npm test` 共 141 项通过。
### 仍未完成的生产门槛
- [x] 目录自动创建及代理模式防护代码已部署;完整首次生产初始化仍待实机复审。
- [!] 管理域名正式签发存在已记录的 ACME 限流:服务器日志时间为 2026年9月26日 14:18:53 UTC,`retry_after_seconds=73024`。据此计算,最早重试时间为北京时间 2026年9月27日 18:35:57;此时间只代表该次响应的等待下限,不保证届时签发一定成功。本轮没有盲目重试签发。
- [ ] 全新正式签发、真实代理预检、初始化提交、正式应用启动和浏览器登录的连续链路尚未完成验收。
- [ ] 当前管理入口仍依赖此前人工恢复的正式证书,不能把入口可访问当作产品自动签发链路已通过。
测试环境与严格校验的代理管理入口不兼容时,产品会在提交前明确拒绝,要求选择正式环境或直接 HTTPS;不会静默切换环境、跳过验证或事后人工替换证书来宣称初始化成功。