diff --git a/docs/证书托管续期策略验收.md b/docs/证书托管续期策略验收.md index d83e956..4b87e3a 100644 --- a/docs/证书托管续期策略验收.md +++ b/docs/证书托管续期策略验收.md @@ -23,11 +23,23 @@ - [✓] 前端相关 23 项回归通过,包括三种选项、初始化反代限制和 Vue 模板渲染。 - [✓] 前端生产构建及 Linux 主程序构建通过。 - [✓] 第一份候选在服务器空库、独立网络及挂载目录中完成初始化、Nginx HTTPS 上游、SMTP/IMAP/POP3、中文正文及附件收信、过载恢复验收。 -- [~] 补充热加载校验后,重新构建及执行最终候选验收。 -- [ ] 正式部署和浏览器业务验收。 +- [✓] 补充热加载校验后,重建三个内嵌插件、Telegram 界面和主程序,最终候选隔离验收通过。 +- [✓] 正式部署、可信 HTTPS、邮件 TLS、双库完整性和启动日志检查。 +- [✓] 浏览器禁用缓存重新加载正式登录页,中文文字和表单正常显示。 +- [!] 登录后浏览器业务验收尚未完成,需要有效的 Smail 网页登录凭据;SSH 凭据不作为邮箱凭据使用。 第一份候选 SHA-256 为 `ec6b89a10eef5e7359e057c69d1afa3ff6ad8517ffe84b8e4c5dde9151943e21`,运行测试用时 39.91 秒,Smail 内存峰值 77,729,792 字节,Nginx 3,604,480 字节,交换空间为零。两个测试数据库完整性检查均为 `ok`,四个正式服务进程未变化,无新增 OOM,测试邮件未写入生产库。 +## 最终构建与正式部署 + +2026-09-18 15:24 部署源码提交 `e05d1ff5719f3a516f7d449504130d4ea65e4862`,运行版本为 `review-e05d1ff`。主程序 SHA-256 为 `56d426732dbf3596ad943ac6ed65b5b504101b05f82855d0e89368ce01bfeee8`,与服务器文件一致。三个内嵌插件均核对为当前提交;正式插件配置仍保持原有禁用状态,因此没有宣称插件业务功能已通过实机验收。 + +最终候选使用新空库,在服务器独立网络及挂载目录中执行完整验收,用时 40.17 秒。初始化、登录会话、正式配置接口、Nginx HTTPS 上游、三种邮件协议授权码、中文邮件及附件、过载恢复均通过。Smail 内存峰值 77,873,152 字节,Nginx 3,612,672 字节,测试进程交换空间为零,无新增 OOM,测试双库完整性正常,生产服务与业务数据未被测试修改。 + +停服后备份程序、配置、证书和数据,再直接安装三个可执行文件并启动 Smail,没有使用部署脚本。备份位于 `/var/backups/smail-release-20260918-vGc1otF8`,目录仅 root 可访问。程序更新后五个配置文件和现有证书的哈希不变,仍为手动托管;两份正式数据库完整性检查均为 `ok`。HTTPS 健康检查、465/993/995 的 TLS 1.3 主机名及信任链验证通过。Smail 正常启动且自动重启次数为零,Nginx、MySQL、Scert 的进程与运行实例未改变。 + +验收日志保存在备份目录的 `verification` 子目录。本次四个 `/var/tmp/smail-*` 上传及测试目录已清理,临时测试单元已停止。浏览器已验证正式登录页;真实 CA 续期、登录后的证书设置操作和先前待验收的公网端口配置仍未完成,不计入本轮通过项。 + ## 服务器清理后的边界 2026-09-18 已停止并移除外部 `smail-certificate-renew` 服务与定时器、独立 Python 续期程序和 lego 工具。原数据与清理证据位于受保护目录 `/var/backups/smail-cleanup-20260918-bwQalZ`。这部分是此前清理结果,不代表本次真实 CA 续期验收。