记录 Pingora 真实路径 canary 验收
记录 dev 真实路径 canary 的 live smoke 和 WSS 验收 记录 Nginx 与 Pingora access log 真实路径对账结果 记录恢复 Nginx 配置并释放 18083 端口
This commit is contained in:
@@ -348,6 +348,17 @@ dev 根盘空间在安装后曾接近满盘;2026-06-17 进入 canary 前已清
|
||||
- `node /tmp/check-pingora-canary-access-log-parity.mjs --nginx-log-file /var/log/nginx/genarrative.access.log --pingora-log-file /var/log/genarrative/pingora-gateway.access.log ... --json` 对账 `6/6 matched`,`missingCount=0`,`mismatchCount=0`;覆盖 healthz、API config、SpacetimeDB identity、WSS subscribe、静态代表路径和 generated 拒绝路径。
|
||||
- 恢复后 `grep genarrative-pingora-canary /etc/nginx/conf.d/genarrative.conf` 无匹配,`GET http://127.0.0.1/__genarrative_pingora_canary/healthz` 在正常 Nginx HTTP 入口回到 `301`,证明临时 canary include 已移除;`genarrative-pingora-gateway.service` 仍为 `active` 且 `NRestarts=0`。
|
||||
|
||||
## dev Nginx realpath canary 验收记录
|
||||
|
||||
2026-06-17 已在 dev 机做过一次临时 Nginx realpath canary。步骤是将 `deploy/nginx/snippets/genarrative-pingora-realpath-canary.conf` 渲染到 `/etc/nginx/snippets/genarrative-pingora-realpath-canary.conf`,并在 Nginx `http` 上下文临时 include 一个只监听 `127.0.0.1:18083` 的独立 `server {}`;执行 `nginx -t && nginx -s reload` 后,用 `http://127.0.0.1:18083` 与 `Host: genarrative-pingora-realpath-canary.local` 做 loopback 验收。验证结束后已恢复 `/etc/nginx/conf.d/genarrative.conf` 备份并 reload Nginx;`127.0.0.1:18083` 已释放,正常公网入口仍由 Nginx 原配置承接,Pingora 继续只作为 `127.0.0.1:18081` shadow service 运行。
|
||||
|
||||
本阶段验收只证明真实路径 Nginx -> Pingora handoff 可用,不切 `80/443` 到 Pingora。验收结果:
|
||||
|
||||
- `node /tmp/check-pingora-canary-live.mjs --realpath --base-url http://127.0.0.1:18083 --host genarrative-pingora-realpath-canary.local --json` 通过:healthz `200`、API config `200`、SpacetimeDB identity `405`、静态代表路径 `404`、generated 拒绝路径 `404`,全部带 `X-Genarrative-Nginx-Handoff: pingora-realpath-canary`。
|
||||
- 通过真实路径 canary 访问 `/v1/database/genarrative-prod/subscribe?compression=Brotli`,WebSocket Upgrade 返回 `101 Switching Protocols`,并带 `sec-websocket-protocol: v2.bsatn.spacetimedb`、`X-Genarrative-Nginx-Handoff: pingora-realpath-canary` 和 `X-Genarrative-Gateway: pingora-shadow`。
|
||||
- `node /tmp/check-pingora-canary-access-log-parity.mjs --realpath --nginx-log-file /var/log/nginx/genarrative-pingora-realpath-canary.access.log --pingora-log-file /var/log/genarrative/pingora-gateway.access.log ... --json` 对账 `6/6 matched`,`missingCount=0`,`mismatchCount=0`;除 healthz 探针映射到 `__genarrative_pingora/healthz` 外,API config、SpacetimeDB identity、WSS subscribe、静态代表路径和 generated 拒绝路径的 Nginx path 与 Pingora path 完全一致。
|
||||
- 恢复后 `grep genarrative-pingora-realpath-canary /etc/nginx/conf.d/genarrative.conf` 无匹配,`ss -ltnp | grep :18083` 无监听,证明临时 realpath canary server 已移除;`genarrative-pingora-gateway.service` 仍为 `active` 且 `NRestarts=0`。
|
||||
|
||||
## 环境变量
|
||||
|
||||
| 变量 | 默认值 | 说明 |
|
||||
|
||||
Reference in New Issue
Block a user