错误示例:

error":{“message”:“Post "https://open.bigmodel.cn/api/paas/v4/chat/completions\”: context canceled",“type”:“server_error”,“code”:“internal_server_error”}
错误代码:5XX

解决方法

  1. 调整 Claude Code 默认配置
    Cluade Code 新版本增加了许多 API 的超时检测,请确保在环境变量中完整添加以下所有字段:
 "API_TIMEOUT_MS": "600000", "BASH_DEFAULT_TIMEOUT_MS": "600000", "BASH_MAX_TIMEOUT_MS": "600000", "CLAUDE_API_TIMEOUT": "600000", "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1", "CLAUDE_CODE_MAX_OUTPUT_TOKENS": "32000", "MCP_TIMEOUT": "300000", "MCP_TOOL_TIMEOUT": "600000" 
  1. 确保中间层(如 Cloudflare、Edgeone 等加速和防护服务)设置正确
    近期在 Claude Code 等客户端里出现的 5XX 报错(例如返回体含 “context canceled”“server_error”“internal_server_error”)在不少情况下并非模型服务本身异常,而是链路中间层的回源超时导致连接被提前断开。我们确认当请求经过 Cloudflare 或 EdgeOne 这类 CDN / 代理后,如果上游在长思考、长文本推理、工具调用或搜索阶段出现较长时间未产生任何响应字节,CDN / 代理可能会按 “源站无响应” 判定超时并主动断链;客户端侧就会表现为请求被取消、连接中止,进而映射成 5XX 或类似的 server_error。该问题在非流式响应更常见,尤其是 Claude Code 执行后台任务或子代理调用时往往走非流式路径,容易在几十秒到一分钟的空窗内触发超时。

处理建议:优先在 Cloudflare 或 EdgeOne 的规则引擎中,将相关接口的 “源站超时 / 回源超时 / HTTP 应答超时” 提高到能够覆盖最坏情况下的推理时长,建议至少 180 秒,必要时更高;并尽量只对特定域名或特定 Path 生效,避免影响全站。若所用方案或回源协议不支持将超时调到目标值,建议改为流式输出或加入周期性心跳字节(保持连接持续有数据流动),以避免被中间层误判为无响应。(CPA 新版本在流式输出时,提供此类问题的解决方案,例如持续发送空行作为流式返回内容)

  1. Nginx 配置 (若有)
    参考这位佬友的回复

解决在 claude code 等工具中接入 API 使用(尤其是 CLIProxyAPI 等服务)频发 500 报错的若干方法 - #3,来自 geq1fan


📌 转载信息
原作者:
moxiyan
转载时间:
2026/1/14 17:47:26

标签: claude code, CLIProxyAPI, API Integration, 500 Error, Cloudflare Configuration

添加新评论