Node.js AI API ETIMEDOUT:连接超时、DNS 与客户端 timeout 排查
最后验证:2026-08-31 · FXXT技术栈编辑部
ETIMEDOUT 表示某个连接或读取阶段在预算内没有完成。先确认主机解析和 TCP/TLS 连通性,再核对代理环境变量与客户端 timeout。
Quick diagnosis
在变更前记录脱敏后的 URL、状态码、时间和错误阶段。用最小可复现请求分别验证应用、容器或 Pod 与网络边界。
curl -Iv --connect-timeout 5 https://YOUR_API_HOST/Why it happens
网络请求可能在解析、连接、TLS、代理、上游处理或流式读取阶段失败。先定位阶段再修复,避免用全局 timeout 或重试遮蔽根因。
Fix
只调整确有证据的 DNS、CA、代理、timeout 或代理 location 配置;将变更限定到目标服务,保留原值用于回滚。
Verification
修复后重新运行最小请求,并确认错误率、首字节时间和流式事件行为。不要记录 API Key、Authorization、Token 或完整用户日志。
Rollback
验证失败时恢复原环境变量、配置或部署清单,再重新测试。Nginx 变更必须先通过 nginx -t。
FAQ
可以直接无限重试吗?
不可以。应设置有限次数和退避,并优先修复 DNS、证书、代理或上游问题。
Related Runbooks
Python APITimeoutError · Node.js baseURL · Nginx SSE buffering