docs: 记录生产上线风险修复计划

This commit is contained in:
2026-07-10 11:44:59 +08:00
parent f07335dab4
commit 5819830e33
2 changed files with 38 additions and 0 deletions

View File

@@ -0,0 +1,31 @@
# 生产上线前风险修复计划与实施记录
## 背景
项目准备正式部署前,对用户端、管理后台、后端服务和容器编排进行上线审查。审查发现并发排队、每日额度、安全配置、登录防护、生产部署、自动化验证及代码维护性仍存在风险。本次按“先修复阻断上线的问题,再补齐验证与维护性”的顺序一次性收口。
## 修复范围
1. 修复聊天请求进入排队后引用未定义变量、流式响应中断的问题,并覆盖排队、超时、拒绝和释放场景。
2. 为每日问答额度增加按自然日自动重置机制,避免额度累计后永久不可用,并保证并发扣减一致性。
3. 为短信发送、短信验证码校验、图形验证码校验和管理员登录增加 Redis 限流与失败锁定Redis 不可用时采用进程内降级保护。
4. 对模型 API Key、飞书 AppSecret、阿里云 AccessKey Secret 等敏感配置进行应用层加密存储;读取接口只返回掩码,更新时留空不覆盖已有密钥。
5. 将用户和管理员退出后的 Token 撤销状态迁移到 Redis并按 Token 剩余有效期保存Redis 不可用时保留进程内降级机制。
6. 新增生产镜像与生产编排:前端使用 Nginx 静态服务,后端关闭 debug 和 mock数据库与 Redis 不暴露公网端口,生产密钥必须显式配置。
7. 修复自动验证脚本,补充后端关键单元测试、前端构建、数据库迁移和 Docker Compose 配置检查,并锁定依赖版本。
8. 拆分管理后台超大单文件和后端高复杂度模块的职责边界;优先提取系统设置定义、登录视图和共享安全组件,保持现有行为不变。
## 上线验收条件
- 排队状态能够正常返回位置提示,排队完成、超时、取消和异常均释放占用。
- 用户跨自然日首次提问时自动清零昨日用量,同日并发请求不能绕过额度。
- 短信和登录接口具备可配置限流,错误次数达到阈值后临时锁定。
- 管理后台和接口响应中不出现任何完整密钥;数据库中的新保存密钥不是明文。
- 多 worker 下退出登录立即生效Token 撤销状态在服务重启后仍可由 Redis 保留。
- `docker-compose.prod.yml` 不包含开发弱口令、mock、debug、Vite 开发服务器和数据库公网端口。
- 后端测试、迁移检查、用户端构建、管理后台构建和 Compose 检查全部通过。
- 拆分后页面功能和 API 行为保持一致,核心文件职责更清晰。
## 实施记录
实施过程中按批次记录对应提交、验证结果和必要决策。每批代码修改均单独提交并推送。