From 110ec0cd5db25b174b943a191210596ade5cf755 Mon Sep 17 00:00:00 2001 From: xuans Date: Thu, 1 Oct 2026 01:09:53 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=99=88=E6=97=A7=E9=83=A8?= =?UTF-8?q?=E7=BD=B2=E9=94=81=E6=B8=85=E7=90=86=E5=90=8E=E5=AE=9E=E6=9C=BA?= =?UTF-8?q?=E5=A4=8D=E6=B5=8B=E8=BF=9B=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 记录正式页面重新部署、HTTPS、证书指纹、服务状态和任务状态复核结果,明确自动恢复与完整生产验收仍未通过。 --- doc/Linux生产流程测试记录.md | 9 +++++++++ doc/Scert整改任务执行清单.md | 11 +++++++++++ doc/Scert整改合并优化清单.md | 9 +++++++++ 3 files changed, 29 insertions(+) diff --git a/doc/Linux生产流程测试记录.md b/doc/Linux生产流程测试记录.md index 72a09ae..7620868 100644 --- a/doc/Linux生产流程测试记录.md +++ b/doc/Linux生产流程测试记录.md @@ -1,4 +1,13 @@ # Linux 生产流程测试记录 +## 陈旧部署锁清理后正式页面复测(2026-09-30 16:55 UTC) + +- 通过 SSH 核查 `scert-multi-20260930.apmmk.cn` 目标目录中的 `cert.pem.scert-lock`、`fullchain.pem.scert-lock` 和 `key.pem.scert-lock`:三个均为空目录,创建时间早于本次任务;同时确认没有活动 Scert、SSH 或 SFTP 部署进程,`Scert` 与 `nginx` 均为 active。 +- 按允许的现场清理范围,仅使用 `rmdir` 删除上述三个已确认陈旧且为空的锁目录;未删除证书、私钥、Nginx 配置、业务数据或证据目录中的历史中断现场。 +- 通过正式页面重新部署 `scert-multi-20260930.apmmk.cn`,页面显示“证书部署完成:1 台推送成功,站点 HTTPS 校验通过”;服务器结果显示证书部署、配置校验并 reload 成功,域名状态恢复为“正常”。 +- `Scert`、`Scert-storage.socket`、`nginx` 均为 active,公网 `https://odacm.cn/readyz` 返回 `{"service":"scert","status":"ready"}`;两个测试域名 HTTPS 均返回 200。 +- `scert-20260930.apmmk.cn` 目标证书和公网证书 SHA-256 指纹均为 `5DE99CD681FB8A84745CE4ED6091D76A7B86616421B3048D3C42844B8A4460ED`;`scert-multi-20260930.apmmk.cn` 两者均为 `43063C0726D34362B254CE28B66D7EB637E00B165F68EC0D07FCED0DF2C64AD2`。两个目标托管目录无 `.scert-lock`、`.scert-backup-*` 或 `.scert-tmp-*` 残留。 +- 结论:陈旧锁人工核查、清理后的正常恢复路径通过;不代表后置 HTTPS 失败自动恢复、进程崩溃事务自动接管、第二台真实服务器、多服务器任务或最终清库首次生产流程已经通过。 + ## SSH 密码部署公钥、密钥回连及后续部署复测(2026-09-30 23:55) - 通过正式服务器配置页面临时使用已授权的密码保存服务器配置;Scert 自动生成服务器专属托管密钥,通过密码 SSH 将公钥写入远端 `/root/.ssh/authorized_keys`,随后关闭密码连接并使用托管私钥执行 `true` 回连验证。 diff --git a/doc/Scert整改任务执行清单.md b/doc/Scert整改任务执行清单.md index b9e2c58..11ff97b 100644 --- a/doc/Scert整改任务执行清单.md +++ b/doc/Scert整改任务执行清单.md @@ -1,4 +1,15 @@ # Scert 整改任务执行清单 +## 当前任务看板(2026-09-30 16:55 UTC,陈旧部署锁清理后正式页面复测) + +需求确认:继续按生产页面完成现场复测;清理只针对已确认为空且无活动任务的陈旧锁目录,不删除业务数据、证书、私钥或配置,不以人工清理结果替代自动恢复验收。 + +- [x] 通过 SSH 核查三个目标锁目录为空,确认无活动部署进程及活动任务后,使用 `rmdir` 安全清理;证据目录中的历史锁未删除。 +- [x] 正式页面重新部署 `scert-multi-20260930.apmmk.cn` 成功,页面显示 1 台推送成功、站点 HTTPS 校验通过,域名状态恢复正常。 +- [x] 复核 `Scert`、`Scert-storage.socket`、`nginx` 为 active,公网 `/readyz` 为 200;两个域名 HTTPS 为 200,目标证书和公网证书指纹一致,目标托管目录无部署残留。 +- [x] 运行概览显示进行中任务为 0,最新任务状态为已完成;本次未创建辅助验收脚本。 +- [~] 继续执行 P0-10 负向实机验证:后置 HTTPS 校验失败自动恢复、进程崩溃事务自动接管仍未通过;本轮人工清理陈旧锁后的正常部署不计入自动恢复通过。 +- [!] 第二台真实服务器、一个域名多服务器、三数据库、双平台服务、备份恢复和最终清库首次生产流程仍待完成,不能标记完整生产验收通过。 + ## 当前任务看板(2026-09-30 23:55,密码部署公钥并切换密钥复测) 需求确认:继续按生产方式验证 SSH 认证闭环;密码只用于本次公钥部署,后续部署必须使用加密托管私钥,不在页面或日志中记录密码。 diff --git a/doc/Scert整改合并优化清单.md b/doc/Scert整改合并优化清单.md index 40ef53e..2220aa9 100644 --- a/doc/Scert整改合并优化清单.md +++ b/doc/Scert整改合并优化清单.md @@ -1,4 +1,13 @@ # Scert 整改、合并与优化清单 +## 当前验收总览(2026-09-30 16:55 UTC,陈旧部署锁清理后正式页面复测) + +- [x] 已通过 SSH 核查确认目标域名目录中的三个 `.scert-lock` 均为空目录、创建时间早于本次任务,且没有活动 Scert、SSH 或 SFTP 部署进程;仅使用 `rmdir` 清理这三个明确的陈旧锁目录,未删除证书、私钥、Nginx 配置或业务数据。 +- [x] 从正式页面重新部署 `scert-multi-20260930.apmmk.cn` 成功,页面显示“1 台推送成功,站点 HTTPS 校验通过”,该域名状态由“错误”恢复为“正常”。 +- [x] 远端 `Scert`、`Scert-storage.socket`、`nginx` 均为 active,公网 `/readyz` 返回 200;两个测试域名 HTTPS 均返回 200,目标证书与公网证书 SHA-256 指纹分别一致:`scert-20260930.apmmk.cn` 为 `5DE99CD681FB8A84745CE4ED6091D76A7B86616421B3048D3C42844B8A4460ED`,`scert-multi-20260930.apmmk.cn` 为 `43063C0726D34362B254CE28B66D7EB637E00B165F68EC0D07FCED0DF2C64AD2`。 +- [x] 页面运行概览显示进行中任务为 0,最新部署任务为“已完成”;两个目标托管目录均无 `.scert-lock`、`.scert-backup-*` 或 `.scert-tmp-*` 残留。证据目录中的中断测试锁仍按原样保留,未误删。 +- [~] 本轮证明陈旧锁人工核查与清理后的正常恢复路径通过;不等同于后置 HTTPS 失败自动恢复或进程崩溃事务自动接管通过,P0-10 仍需负向实机证据。 +- [!] 第二台真实服务器、一个域名多服务器、三数据库矩阵、双平台服务、备份恢复及最终清库首次流程仍未通过,整体生产验收继续未放行。 + ## 当前验收总览(2026-09-30 23:55,SSH 公钥自动部署与密钥回连复测) - [x] 通过正式服务器编辑流程将现有目标切换为“SSH 密码”保存;Scert 使用密码连接远端、部署托管公钥,并自动验证密钥登录,页面状态更新为“已部署并验证”。