错误排查

502 Bad Gateway 与 stream disconnected 怎么排查

用短请求对照、非流式测试、SSE 事件记录和分层超时定位大模型 API 的 502 Bad Gateway、stream disconnected、upstream connect error 与读取超时。

更新于 2026-07-18已核对 2026-07-18预计阅读 11 分钟适用于 OpenAI Compatible API、SSE 流式输出、长上下文、Agent 与反向代理
配置字段已按公开文档核对;模型、价格和可用能力会变化,请以控制台与接口实时返回为准。
所属专题:OpenAI Compatible API 接入与排错中心

502 Bad Gateway 表示作为网关或代理的服务没有从上游获得有效响应。stream disconnected 则说明连接已经开始,但流式响应在完整结束前中断。两者可能相关,但不能只凭错误文字判断是模型、网关、网络还是客户端超时。

用四组对照快速缩小范围

保持同一个 Key 和模型,只改变一个变量:

对照 A B 能说明什么
输入长度 20 字短问题 真实长上下文 只在长输入失败,优先查上下文与超时
流式模式 stream: false stream: true 只在流式失败,优先查 SSE 和代理缓冲
客户端 curl / SDK Cursor、Dify 或 Agent 只有客户端失败,查客户端超时和解析
任务类型 普通文本 工具调用或多轮 Agent 只有复杂任务失败,查轮次、工具和总时长

每组至少重复 3 次,并记录时间、状态码、请求 ID 与中断位置。一次成功或失败不足以证明长期状态。

先跑非流式短请求

curl -i https://www.aifast.club/v1/chat/completions \
  -H "Authorization: Bearer $AIFAST_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "从控制台复制的模型ID",
    "messages": [{"role": "user", "content": "只回复 ok"}],
    "stream": false
  }'
  • 短请求也稳定 502:保存请求 ID 和时间,检查平台或上游状态;
  • 短请求成功、长请求失败:逐步缩短上下文并增加读取超时;
  • 非流式成功、流式失败:进入 SSE 检查;
  • curl 成功、应用失败:检查客户端、代理和 SDK 配置。

检查 SSE 流是否完整

使用 -N 禁用 curl 输出缓冲:

curl -N https://www.aifast.club/v1/chat/completions \
  -H "Authorization: Bearer $AIFAST_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "从控制台复制的模型ID",
    "messages": [{"role": "user", "content": "分三点解释幂等性"}],
    "stream": true
  }'

重点观察:

  1. 是否持续收到 data: 事件;
  2. 每个事件是否为客户端可解析的 JSON;
  3. 是否出现正常结束标记;
  4. 中断前是否返回错误事件;
  5. 反向代理是否缓冲或压缩了流。

更完整的客户端示例和代理检查见流式输出与 SSE 接入教程

把超时拆成三层

不要只设置一个笼统的 timeout=30

超时 作用 常见误配
连接超时 建立 TCP/TLS 连接 设置过长,网络故障迟迟不失败
读取超时 等待下一个响应分片 设置过短,推理或工具阶段被误杀
任务总时限 限制完整业务任务 没有上限,Agent 可以无限运行

长推理和工具调用可能在两个文本分片之间等待更久,但这不意味着总时限应该无限增加。应分别设置合理的读取超时与业务截止时间。

反向代理重点检查

如果应用前还有 Nginx、Cloudflare、Lucky 或其他代理,核对:

  • 是否关闭了不适合 SSE 的响应缓冲;
  • 上游读取超时是否短于客户端;
  • 是否完整转发 AuthorizationContent-Type
  • 响应是否被错误压缩、拼接或缓存;
  • 长连接是否被空闲超时提前关闭;
  • 请求体大小限制是否小于真实上下文。

不要一开始就同时放大所有超时和请求体限制。先通过短请求、长请求和流式对照确认是哪一层触发。

502 应该怎么重试

只对可以安全重复的请求做有限重试,并加入抖动。以下情况要特别谨慎:

  • 生图、视频等异步任务可能已经创建成功;
  • 工具调用可能已经写入数据库或发送消息;
  • 流式请求中断前已经向用户输出部分内容;
  • 服务端已扣费但客户端没有收到完整响应。

对有副作用的任务,应使用幂等键、任务 ID 或业务去重机制。无法判断服务端是否执行时,不要直接重新发起。

修复完成的验收标准

  • 短请求、真实上下文分别完成多次验证;
  • 非流式与流式均能正常结束;
  • 日志保留请求 ID、中断时间、首个分片和最后一个分片时间;
  • 连接、读取和任务总时限职责清楚;
  • 代理不会缓冲 SSE 或提前关闭长连接;
  • 重试次数有限,有副作用任务具备去重机制。

如果同一入口持续出现异常,可以先运行模型质量检测保存协议与行为报告,再按API 对比测试模板从相同地区、模型和题集复测。检测报告用于定位兼容性问题,不等同于厂商身份认证或长期 SLA。

已核对来源

参考与核对来源

下一步

先核对模型与价格,再创建独立测试 Key

模型 ID、开放状态和价格会变化;小规模验证通过后再接入生产。

查看模型与价格注册使用 查看 API 文档