fix(healthcheck): 生产健康检查 /docs 接受 404,修复 develop push 生产部署回滚 #1646
Reference in New Issue
Block a user
Delete Branch "fix/healthcheck-docs-404"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
问题
每次 develop push 触发生产部署,健康检查因
/docs返回 404 而超时失败,导致自动回滚。根因:
main.py第 25 行:docs_url=None if settings.ENVIRONMENT == "production" else "/docs"scripts/ci_production_healthcheck.sh第 163-168 行:只接受/docs返回 200生产环境禁用了 FastAPI docs,
/docs永远 404,但健康检查把这当作不健康。修复
将
/docs健康检查改为接受 200 或 404:关于 nginx 问题
nginx 配置(
/etc/nginx/sites-enabled/00-xiaoxia-saas)中的/docs和/openapi.jsonproxy_pass 不在代码仓库中,需要在业务服务器上单独清理。影响范围
仅修改
scripts/ci_production_healthcheck.sh,不改变任何业务逻辑。【阻塞级判定】
📊 审查概览
🔴 阻塞级问题(必须修复)
无
💡 改进建议(不阻塞合并)
无
✅ 良好实践
|| echo "000"的兜底逻辑,确保在 curl 命令本身执行失败(如网络超时、DNS解析失败)时,脚本不会因变量为空而误判,且能正确触发检查失败(因为 000 不等于 200 或 404)。🤖 由 AI 代码审查机器人自动生成 | 2026-09-03 07:25:30 | 模型:
🚀 预览环境已部署
🗑️ 预览环境已清理
PR #1646 已关闭或合并,对应的预览环境已被清理。