同步HTTP验证回归与第一台正式部署进度

This commit is contained in:
xuans 2026-10-04 03:16:19 +08:00
parent 7b670a0837
commit f3272980c0
6 changed files with 70 additions and 2 deletions

View File

@ -27,4 +27,8 @@
## 当前验收边界
2026年10月4日:代码已接入,前端正式测试 279 项通过、Linux 目标编译通过;Linux 后端回归、三库迁移实测、Nginx 实测、正式部署及公共域名签发仍待完成。不得据此关闭 P1-03 或整体验收。
2026年10月4日03:14(UTC+8):正式代码与前端已接入,前端 279 项、Linux 全量、vet 和专项竞态通过;真实独立 Nginx 十项、SQLite/MySQL 8.0.46/PostgreSQL 14.24 迁移专项通过。干净 `9c26db0` 官方 Linux 包已部署第一台,80 挑战路径内部检查通过;未知令牌无缓存 404,业务仍跳转 HTTPS,上游严格 TLS 不变。
第一台实际文件为 `/etc/nginx/conf.d/scert-odacm.conf` 和 `/etc/nginx/snippets/scert-http-challenge.conf`;仅接入管理域名对应 server,不表示其他托管域名已配置。Nginx reload 后最初请求曾由旧 worker 返回 301,随后重复检查已按新配置返回 404,原观察不隐藏。
正常公共 DNS 仍指第二台,尚未切换。内部定向请求、独立 Nginx 及迁移专项都不能替代真实 ACME 协议、公网签发和三库首次 Web 验收;这些仍待完成,不关闭 P1-03 或整体验收。

View File

@ -1,5 +1,29 @@
# Linux 生产流程测试记录
## 2026年10月4日03:14 HTTP 验证回归与第一台正式升级
时间按运行环境 UTC+8。本轮接续重新读取第一台执行单元终态、下列日志与运行摘要,没有重复执行已成功的测试。第二台未操作;没有新增辅助验收脚本、备份或清空业务数据。
### 回归、修复及复审证据
- 首批 `scert-http01-check-20261004-0240.service` 退出码 1:接口测试把嵌入 HistoryScope 字段直接写到 Task 字面量,SQLite 快照 SELECT 星号又因迁移新增列误报。改为显式嵌入字面量与历史列清单,保留 rowid 和历史数据完整性断言,不跳过测试。
- [✓] `scert-http01-fix-20261004-0251.service`:inactive、Result=success、ExecMainStatus=0;源码 `201a272`。依次执行 `go test -p 1 -count=1 -timeout=8m ./...`、`go vet -p 1 ./...` 和 httpchallenge/certificate/httpapi/database 专项竞态。日志位于 `/var/tmp/scert-http01-20261004/`:`backend-fix-full.log`、`fix-vet.log`、`fix-race.log`。vet 日志零字节,后续竞态四包均通过。
- [✓] 实际签发配置授权覆盖 HTTP 不变、切换 DNS、空值默认 DNS、项目/域名变化、证书/部署撤权及重试权限;拒绝早于副作用。系统续期仍用原系统工作流,不宣称全部权限通道已经审计。
- [✓] `scert-http01-nginx-20261004-0257.service`:inactive、success、退出码 0;源码 `9c26db0`。日志 `/var/tmp/scert-http01-nginx-20261004/nginx-integration.log`:challenge、head、wrong_host、unknown、query、encoded、post、redirect、business、tls_rejected 十项通过,总计 0.133 秒。使用正式 Nginx 模板、独立回环进程、严格 TLS 测试上游,包含凭据剥离和 Host 隔离,不重载线上站点。
- [✓] `scert-http01-db-review.service`:inactive、success、退出码 0;同目录 `database-integration.log`。`TestDomainChallengeMigration` 在 SQLite、MySQL 8.0.46、PostgreSQL 14.24 全部通过,MySQL 中断重入及冲突字段拒绝通过,33.259 秒,无 skip。外部数据库为隔离回环实例、严格 TLS;这是迁移专项,不是三库首次 Web 或 MySQL 5.7 验收。
### 正式包与实际安装
- [✓] 官方 `build/build-release.ps1 -Target linux-amd64` 构建成功;manifest 的 source_commit 为 `9c26db081e0ab4c3e126ed7e3b0122a5110b4dbe`、source_dirty=false、trimpath=true、local_path_check=passed。前端 279/279 通过,Vite 构建通过,24 项产物摘要匹配,包内包含两个 Nginx 模板。
- [✓] 归档 `Scert-20261004-V0.1.0-linux-amd64.tar.gz` 两端 SHA256:`4f41314f48f40c67290f211d0a46859a18d26a86d88a6b13db579155f748f071`;远端 `/var/tmp/scert-http01-9c26db0-linux-amd64.tar.gz` 本轮再次读取得到相同摘要。
- [✓] 解包后 SHA256SUMS 全部通过,第一台官方安装器退出 0。安装记录 `/var/tmp/scert-release-http01-9c26db0/install.log`;只有安装器自身事务机制,没有额外远端备份。
- [✓] 实际 `/scert/scert` SHA256:`36d8769f7164539e831e19bddb5bd6bec759f3bcc05ee150624b93a35e3e2735`,本轮重新读取一致。前批已核对包内、安装及 Nginx 返回的 `index-AwxGoqOG.js` 摘要均为 `e5d5834529b30d6de46da851f5b55c76ae9f8ecd931ffa5c2916729d51280b04`。
- [✓] Scert、Scert-storage.socket、Nginx 本轮重新读取均 active。第一台本机严格 TLS `/readyz` 返回 ready;Nginx 80 未知挑战返回 404、no-store、nosniff。普通路径仍 HTTPS 跳转。reload 后最初旧 worker 的 301 观察保留,后续已得到 404。
### 未关闭的验收边界
上述请求使用第一台回环定向诊断,不是正常公共入口验收。正常 DNS 当前仍指第二台,未获确认前不切换、不在第二台配置发信。完整 lego ACME 协议、公网 HTTP-01 签发、各托管域名站点接入、Smail 系统通知和重置、三库首次 Web、完整 DNS 账户与 CNAME 委派仍待完成。线上迁移版本二十六未在本节直接查表,不用 ready 代替该证据;两条缺可信基线旧事务未篡改。P1-03 与整体上线门禁保持未通过。
## 2026年10月4日02:03 DNS 隔离正式升级与全量环境修正
本节时间为 UTC+8。沿用已确认任务,仅第一台执行主程序回归与升级,第二台不重复测试。发布源码为干净提交 `2513f935bc8c52622d79a3409a15051bc7d14c5c`;未对正式测试断言作任何修改。

View File

@ -1,5 +1,17 @@
# Scert 开发任务清单
## 2026年10月4日03:14 HTTP 验证开发与部署更新
本节优先于历史记录:HTTP-01 已接入,不再是完全未开发;第一台正式运行 `9c26db0`。
- [✓] 域名验证方式、三库迁移二十六、HTTP 挑战存储与路由、正式签发及前端选择完成;实际配置快照授权补强已回归。
- [✓] 首批真实失败修复后,原生 Linux 全量、vet 和专项竞态通过;真实 Nginx 十项与三库迁移专项通过。前端 279 项及正式 Linux 构建通过。
- [✓] 第一台官方安装升级及运行摘要复核完成,80 挑战路径内部检查通过;没有重复第二台测试。
- [~] 实际 lego 客户端 ACME 协议回归继续补齐;完整 DNS 多账户、CNAME 委派及元数据权限仍有开发和审查缺口。
- [!] 公共 DNS 仍指第二台;公共签发、Smail 系统邮件与重置、三库首次 Web 未完成,P1-03 及总体生产门禁不关闭。
详见《Linux生产流程测试记录》同时间章节;历史“待回归、待部署”不代表当前状态。
## 2026年10月4日02:03 DNS 隔离发布完成
- [✓] 正式 Linux 构建及第一台上传摘要校验已完成,发布提交为干净 `2513f93`。

View File

@ -1,5 +1,19 @@
# Scert 整改任务执行清单
## 2026年10月4日03:14 本批复审及后续任务
沿用已确认需求,检查点 `7b670a0` 已推送。本节覆盖下方“等待回归与部署”的历史状态,不改变总体目标。
- [✓] 复读第一台全量、vet、专项竞态、真实 Nginx 与三库迁移日志;三个执行单元均 success、退出码零。
- [✓] 实际签发快照授权回归通过,拒绝路径早于状态修改、租约和 DNS 凭据读取;覆盖 HTTP 转 DNS、默认 DNS、项目及域名变化、撤权和重试。
- [✓] 官方 Linux 包已含两个 Nginx 模板,前端 279 项通过,第一台升级至干净 `9c26db0`,运行摘要已复核。
- [✓] 第一台 80 挑战反代与严格 TLS 内部就绪通过;第二台未操作。
- [x] 同步主清单、开发清单、生产记录、核心规格和 HTTP 部署说明的最新边界,等待文档复审。
- [~] 核对真实 lego 客户端的 HTTP-01 ACME 协议覆盖,补充正式 Go 回归,不新增辅助验收脚本。
- [ ] 完整 DNS 多账户增删、禁用、轮换及归属生命周期。
- [ ] 完整 CNAME 委派生命周期及其余元数据接口权限复审。
- [!] 第一台公共域名、系统发信授权与三数据库首次 Web 门禁保持;公共域名实际签发不以内部请求替代。
## 2026年10月4日02:46 HTTP 验证回归修复任务
沿用已确认需求,修改前检查点 `16224fa` 已推送;第一台只运行隔离回归,不修改线上数据,不操作第二台。

View File

@ -1,5 +1,19 @@
# Scert 整改、合并与优化清单
## 2026年10月4日03:14 HTTP 验证回归与第一台部署
本节按运行环境 UTC+8 记录,优先于下方历史状态;仅 Linux 与 Web。第一台运行版本已从 `2513f93` 升级至 `9c26db0`,HTTP-01 不再属于尚未接入的开发项,但公共域名实际签发仍未验收。
- [✓] HTTP-01 正式服务、域名验证方式、迁移二十六与前端选择已接入;同步、异步及重试在实际签发配置快照上重新检查项目与操作权限。
- [✓] 首批编译及 SQLite 快照回归失败已修复;第一台 Linux 全量、vet、专项竞态均终止成功,没有跳过失败用例。
- [✓] 真实独立 Nginx 十项通过;SQLite、MySQL 8.0.46、PostgreSQL 14.24 迁移专项及 MySQL 中断重入、冲突结构拒绝通过。不是三库完整首次 Web 验收。
- [✓] 干净 `9c26db0` 官方 Linux 包构建、前端 279 项及产物摘要通过;第一台正式安装升级完成,本轮重新读取服务终态、运行文件摘要和严格 TLS 就绪均正常。
- [✓] 第一台 Nginx 80 挑战路径已接入,未知令牌返回无缓存 404,普通业务仍跳转 HTTPS;上游严格 TLS 不变,应用和数据库仅回环监听。这是内部诊断,不是公网签发证据。
- [~] 补齐真实 lego 客户端的 ACME 协议回归;继续 DNS 独立多账户生命周期、CNAME 委派和其余元数据权限复审。
- [!] 正常 DNS 仍指第二台,尚未获准切换;Smail 系统通知授权、真实邮件与重置、三数据库首次 Web、HTTP-01 公网签发及总体上线验收未完成。P1-03 不整项关闭。
证据路径与准确范围见《Linux生产流程测试记录》同时间章节。不清现有业务数据、不重复第二台主程序测试、不新增辅助脚本或远端备份。
## 2026年10月4日02:03 DNS 隔离正式升级完成
- [✓] 干净提交 `2513f93` 正式 Linux 发布包构建完成,路径检查、本地 manifest、上传第一台后的归档及包内摘要均通过。

View File

@ -32,7 +32,7 @@
## P1-03 完善 ACME 和 DNS 管理
2026年10月4日源码复核:HTTP-01 尚未接入;system-dns 单账户列表不能代表独立多账户生命周期完成。已补 DNS 列表实时项目读取权限,第一台 Linux 隔离红绿、全量、vet 与专项竞态通过;`2513f93` 正式包已升级第一台,运行摘要及匿名/超级管理员内部路由复核通过。公共入口与全角色实机矩阵未由本批替代;原六阶段未完成状态保留,不把开发缺项改写成仅待验收。
2026年10月4日03:14 更新:HTTP-01 已接入正式签发、订单隔离路由、域名验证方式与迁移二十六;实际签发快照授权已补强。第一台 Linux 全量、vet、专项竞态、真实 Nginx 十项和三库迁移专项通过,干净 `9c26db0` 官方包已升级第一台并复核运行摘要。实际 lego 客户端完整 ACME 协议与公共域名签发仍待验收;system-dns 单账户列表不能代表独立多账户生命周期完成,完整账户及 CNAME 委派仍有开发缺口。保留六阶段未完成状态,内部就绪不替代公共入口、首次 Web 与全角色矩阵。
- 任务编号:P1-03;任务名称:完善 ACME 和 DNS 管理;优先级:P1。
- 当前状态:`[~] 进行中`。