CoreOTT Docs

排障 runbook

部署/登录/域名/迁移/邮件/通知常见故障的定位顺序。

source=manual · owner=biz-dev · lastVerified=2026-11-07 · version=1.0

排障顺序:先看版本与健康 → 再看域名/会话 → 再看数据/迁移 → 最后看外部依赖。 不要一上来改代码。

0. 先收集现场

curl -sS https://<domain>/api/health
pnpm exec wrangler tail <worker> --env <env>

记录:Version ID、migrationCount、latestMigration、错误码、请求时间、Host。

1. 页面 404 / 打不开

现象常见原因处理
www 或 console 上 /admin 404域名职责分离:后台只在 CRM 域改用 https://crm.<domain>/admin
全站 404Custom Domain 未挂到 Worker查 deploy.sh <env> domain,必要时 --apply
522/1016DNS 未生效或源站不可达查 DNS/CNAME 与 Worker 路由
静态资源 404部署产物不完整重新 build + deploy,确认 .open-next/assets

2. 登录失败

状态原因处理
401账号不存在/密码错/会话过期用 seed 账号核对;必要时重置密码
403 ACCOUNT_SUSPENDED平台账号被停用运营在 CRM 恢复
403 EMAIL_UNVERIFIED注册后未验证重发验证邮件或运营人工确认
423登录失败次数触发锁定等待锁定窗口或管理员解锁
/admin 登录 401打错域名(用了 console/www)改用 CRM 域

3. 部署后 500

  1. 看 wrangler tail 的首个堆栈,不要只看最后一行。
  2. 查 /api/health:migrationCount 是否落后于代码。
  3. 跑 ./deploy.sh <env> plan,确认「待应用 migration」为空。
  4. 缺 secret(PAYLOAD_SECRET)会导致启动失败;首次部署后跑 secret。
  5. 若仍 500,按回滚 runbook 回上一版本,保留日志。

4. 迁移漂移 / D1 报错

5. 邮件/通知

MAILER_FROM;未配置时是 inert,不是故障。

6. 工单/附件

7. 何时升级给平台

以下情况不要自行处理,带现场信息联系平台: