01. 502 Bad Gateway 的本质:谁在提前挂断连接?
502 错误表示反向代理(如 Nginx、Traefik、Cloudflare)无法从后端的应用服务(Node.js、FastAPI、Go)获得有效响应。在传统 Web 应用中,这种错误通常是因为后端服务崩溃或端口未启动。
但在 AI 应用与 Agent 领域,502 的诱因往往是【时间错位】:大模型生成通常耗时 5~60 秒,若代理层默认的 read_timeout 设定为 15 秒或 30 秒,代理层就会主动切断并向客户端报错 502。
02. 生产排查 5 步法与配置自愈
排查第 1 步:检查 Nginx 错误日志 `error.log` 中的 upstream prematurely closed connection 记录;
排查第 2 步:核对 Gunicorn / Uvicorn 的 worker_timeout 参数,确保其大于大模型最大思考耗时;
排查第 3 步:全局禁用 proxy_buffering,防止打字机流式响应分块堵塞;
排查第 4 步:检查宿主机 TCP 连接池与 TIME_WAIT 回收状态;
排查第 5 步:引入上游 API 自动熔断降级网关。