This commit is contained in:
parent
9aff6f9dfb
commit
05b244532d
@ -4,7 +4,7 @@
|
||||
|
||||
远程主机 2026-09-18 00:22 已将 Nginx 证书路径迁移为 `/opt/smail/ssl/custom.crt`、`custom.key`,不再直接使用签发目录。只对 Smail 站点执行路径迁移和平滑重载,正式证书、应用程序、其他站点配置未改动。58 次双站 HTTPS 探测和预先建立的下载连接通过,七个 TLS/STARTTLS 入口再次通过。
|
||||
|
||||
仓库中的续期和部署脚本已改为 DNS 验证、校验快照、平滑重载、实际指纹检查及失败回退,27 项远程隔离回归通过。由于缺少专用 DNS 授权和真实挑战证据,线上续期脚本及 systemd 单元尚未替换,旧自动任务仍然存在到期停机风险。不得把仓库候选代码、未到期检查或路径迁移当作无停机续期已经启用。
|
||||
仓库中的续期和部署脚本已改为 DNS 验证、校验快照、平滑重载、实际指纹检查及失败回退,28 项远程隔离回归通过。由于缺少专用 DNS 授权和真实挑战证据,线上续期脚本及 systemd 单元尚未替换,旧自动任务仍然存在到期停机风险。不得把仓库候选代码、未到期检查或路径迁移当作无停机续期已经启用。
|
||||
|
||||
实时配置确认 Scert 已使用 `web.apmmk.cn:443`,不再监听旧记录中的 8003/8004。本轮没有修改其配置。完整证据、失败过程和启用门槛见《无停机续期整改记录》;以下签发和维护窗口章节保留原部署过程。
|
||||
|
||||
@ -38,7 +38,7 @@
|
||||
- Nginx 证书:现为 `/opt/smail/ssl/custom.crt`、`custom.key`;初次部署曾直接使用上述签发目录,最新整改已分离。
|
||||
- Smail 证书:`/opt/smail/ssl/custom.crt` 和 `custom.key`,属主 smail,0600。新握手热加载,不为换证重启邮件服务。
|
||||
|
||||
HTTP-01 测试失败,CA 报告部分节点收到 403 或连接重置,本机 Nginx 仅记录部分节点的 200。外部路径原因尚未定位,不能断言具体运营商策略。改用 TLS-ALPN-01 后,五个域名的测试和正式签发均成功,没有使用 DNS 密钥。
|
||||
HTTP-01 测试失败,CA 报告部分节点收到 403 或连接重置,服务器 Nginx 仅记录部分节点的 200。外部路径原因尚未定位,不能断言具体运营商策略。改用 TLS-ALPN-01 后,五个域名的测试和正式签发均成功,没有使用 DNS 密钥。Webroot 在原理上可以避免停机,但本项目尚未证明公网挑战路径可用,不能将其直接视为已验收的替代方案。
|
||||
|
||||
lego 固定为项目同版本 v4.34.0,官方发布包 SHA256 为 `c681c09d3f2ae37a8d0fe744b55a7d00321832ab603d5bf1b484d66d41b06cd2`,下载后核对摘要才执行。ACME 未配置联系邮箱,不依赖邮件通知到期。
|
||||
|
||||
|
||||
@ -2,11 +2,11 @@
|
||||
|
||||
## 范围与当前结论
|
||||
|
||||
远程主机时间:2026-09-18 00:00 至 00:24,时区为 Asia/Shanghai。测试仅在 `47.108.78.12` 执行,本机仅编辑和传输。本文中的日期以远程命令及证据时间为准。
|
||||
远程主机时间:2026-09-18 00:00 至 00:35,时区为 Asia/Shanghai。测试仅在 `47.108.78.12` 执行,本机仅编辑和传输。本文中的日期以远程命令及证据时间为准。
|
||||
|
||||
- [✓] 明确原停机原因:线上旧脚本使用 TLS-ALPN-01 独占公网 443,并显式停止整个 Nginx 服务。
|
||||
- [✓] Nginx 已从签发目录迁移到 `/opt/smail/ssl/custom.crt`、`custom.key`,与 Smail 共用已发布证书;8001/8002、上游 TLS 校验及其他站点配置未改动。
|
||||
- [✓] 27 项远程隔离回归通过,包括真实独立 Nginx 换证、平滑重载和失败回退后的实际 TLS 指纹验证。
|
||||
- [✓] 28 项远程隔离回归通过,包括真实独立 Nginx 换证、平滑重载和失败回退后的实际 TLS 指纹验证,以及严格 umask 下保留配置权限的回归。
|
||||
- [✓] 线上配置迁移期间两站点 58 次 HTTPS 请求全部成功,一条迁移前已建立的下载连接完整返回 312,377 字节;主服务进程未重启。
|
||||
- [✓] 候选脚本在真实未到期状态完成系统信任、域名、密钥、权限和线上证书一致性检查;七个 TLS/STARTTLS 入口再次通过。
|
||||
- [!] DNS-01 候选未替换线上续期脚本和 systemd 定时任务。尚无 Smail 专用 DNS 凭据配置,不得借用 Scert 凭据,也不能以模拟结果代替真实挑战。
|
||||
@ -32,7 +32,7 @@
|
||||
|
||||
证据目录:`/var/tmp/smail-review-cert-safe-20260918`。
|
||||
|
||||
最终日志:`tests-final-2.txt`。单元 `smail-cert-safe-tests-20260918-0025` 返回成功,27 项通过,零跳过;运行约 3.609 秒,内存峰值约 22.3 MiB,交换空间为零。这不是生产容量结论。
|
||||
最终日志:`tests-final-3.txt`。单元 `smail-cert-safe-tests-20260918-0030` 返回成功,28 项通过,零跳过;测试执行 3.125 秒,单元运行约 3.344 秒,内存峰值约 24.6 MiB,交换空间为零。这不是生产容量结论。此前 27 项通过日志 `tests-final-2.txt` 继续保留。
|
||||
|
||||
测试使用独立网络空间和只读系统目录,禁止访问线上应用、正式 ACME 状态、管理 socket 及 Nginx 配置。测试证书由隔离 CA 签发,只有隔离验证上下文信任,不导入系统信任库。真实 Nginx 实例监听隔离空间的 18443/18002,测试完成后仅终止该测试实例。
|
||||
|
||||
@ -59,6 +59,12 @@ Smail 站点配置 SHA-256 从 `2c6e42ce1c996947a13b35bddd9840888a4bd9e7e2de7480
|
||||
|
||||
迁移前有三次拒绝或失败,均未修改线上配置:第一次权限检查发现上传目录变为 0755;第二次发现入口 JS 仅为小型引导脚本,不能充当持续下载样本;第三次按旧记录探测 Scert 8004 被拒绝。实时核查确认 Scert 已迁移至按域名共享 443,工具随后按当前实际入口执行,未恢复或修改 Scert 配置。对应日志及失败结果保留在主证据目录和 `-cutover` 目录。
|
||||
|
||||
迁移工具首次原子写入受单元 `UMask=0077` 影响,导致 Smail 配置权限由原来的 0644 收紧为 0600。工具已增加显式 `fchmod` 并通过第 28 项回归;未重新执行整次线上迁移。00:34 持证书锁并核对类型、属主和配置摘要后,仅将 `/etc/nginx/conf.d/smail.conf` 恢复为原来的 0644,内容摘要保持不变,未触发重载或重启。
|
||||
|
||||
收尾证据保存在主证据目录的 `closeout-0035.txt`、`protected-closeout-0036.txt`、`transport-closeout-0036.json`,文件后缀为批次标识,实际执行时间以内容为准。本地六个候选代码及 service 文件与远程测试文件的 SHA-256 一致;远程 Python 编译检查、候选 `systemd-analyze verify` 和 `nginx -t` 成功。systemd 检查另提示宿主机现有单元的 `CPUAccounting` 已被移除并被忽略,不属于候选续期单元错误,本轮未修改这些宿主机配置。
|
||||
|
||||
收尾再次逐项核对八个保护文件,应用双程序、正式证书及私钥、旧续期双脚本和 service、Scert 配置均未变化。Smail 与 Scert 的 HTTPS 页面可用,七个 TLS/STARTTLS 入口系统信任及主机名校验通过,未知 Host/SNI 拒绝;Nginx 和 Smail 主进程及 InvocationID 不变。旧续期 timer 仍为 active,专用 DNS 配置仍不存在,不把本次收尾描述为新续期任务已启用。
|
||||
|
||||
## 启用 DNS 续期前的门槛
|
||||
|
||||
1. 确认 `solit.cn` 实际 DNS 服务商及专用最小权限授权。凭据只保存在远程受保护文件,不在聊天、仓库、普通文档或日志中传递;示例采用阿里云不代表已获得该账号授权。
|
||||
|
||||
@ -5,9 +5,10 @@
|
||||
### 当前状态:远程主机 2026 年 9 月 18 日凌晨无停机续期整改
|
||||
|
||||
- [✓] Nginx 已迁移到已发布证书目录,不再直接读取 ACME 签发产物;Smail 8001/8002 和其他站点配置未修改。
|
||||
- [✓] 27 项远程隔离回归通过,含真实独立 Nginx 换证、重载和回退后的 TLS 指纹检查。
|
||||
- [✓] 28 项远程隔离回归通过,含真实独立 Nginx 换证、重载、回退后的 TLS 指纹检查和原子配置权限回归;候选文件与远程测试文件摘要一致。
|
||||
- [✓] 线上平滑重载期间两个站点 58 次 HTTPS 探测成功,已有连接完整下载 312,377 字节,Nginx 与 Smail 主进程未重启;七个 TLS/STARTTLS 入口复测通过。
|
||||
- [✓] DNS 候选脚本在真实未到期状态校验通过,但没有签发新证书或替换自动任务。
|
||||
- [✓] 00:34 恢复迁移中被 umask 收紧的 Smail 配置权限为原 0644,内容摘要不变;远程语法检查、八个保护文件及七个 TLS/STARTTLS 入口收尾复核通过,未重启服务。
|
||||
- [!] Smail 专用 DNS 授权、全新 DNS 挑战、正式新证书发布、外部告警尚未验收;线上续期脚本和定时任务仍为旧版本,不能宣称无停机自动续期已启用。
|
||||
- [!] 实时配置显示 Scert 已按域名共享 443,旧记录中的 8003/8004 不再是当前入口。其他生产门槛继续有效,整体结论仍为“不满足生产放行”。
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user