ChatGPT 网页正常但 API / Codex 连接异常怎么排查

ChatGPT API Codex 连接异常排查封面
ChatGPT API Codex 连接异常排查封面

“网页能用、API 或 Codex 连不上”几乎从不是节点问题,而是两条路走的根本不是同一条:网页走 chatgpt.com、API 走 api.openai.com,而命令行和 IDE 工具默认往往不读系统代理——所以浏览器正常,终端里的请求可能压根没走代理。

这是一篇偏进阶的排查文,按”域名不同 → 代理是否生效 → 分流是否覆盖 → DNS 与出口”的顺序展开。

第一步:搞清楚网页和 API 不是一回事

网页版 ChatGPT 与 OpenAI API 是两套入口:

  • 网页:chatgpt.comopenai.com 等,靠浏览器访问;
  • API / Codex / SDK:api.openai.com,靠程序、命令行或 IDE 插件访问。

它们域名不同、调用方式不同、连接特征也不同。所以”网页秒开”只证明浏览器这条路通,完全不能推断出终端里的 api.openai.com 请求也走通了。判断很简单:在终端里直接测试对 api.openai.com 的连通性,若超时或被拒,问题就在下面两层。

第二步:命令行 / IDE 工具是否真的走了代理

这是最核心、也最反直觉的一层。**桌面代理客户端的”系统代理”开关,很多命令行工具并不认。**它们只读自己的配置或环境变量,于是即使浏览器走了代理,终端里的请求仍从本地直连出去,自然连不上。

两种解决思路:

  1. 给工具显式配置代理——为终端设置 HTTPS_PROXY / HTTP_PROXY 指向本地代理端口,或在 IDE 插件、SDK 里填写代理地址。这样请求会明确走代理;
  2. 开启 TUN 模式——让客户端在网络层接管全局流量,命令行、IDE、SDK 无需各自配置即可一并走代理。配置方法见 Clash Verge 的 TUN 模式教程。TUN 是解决”程序不读系统代理”最省心的通用方案。

配好后再测一次 api.openai.com,多数”网页能用 API 不行”的情况到这一步就解决了。

第三步:分流规则是否覆盖 API 域名

代理确实生效了,仍连不上,就要看分流规则。**很多订阅内置规则只把网页域名走了代理,漏掉了 API 域名。**确认规则里包含 api.openai.com,并覆盖认证、资源相关的域名,指向你验证过的 AI 代理组。具体涉及哪些域名以 OpenAI 当前官方说明为准,规则宁可写全一点。

排查技巧:临时切”全局模式”再测 API,若全局能通、规则模式不通,就是分流遗漏,把缺的域名补进规则即可。

第四步:DNS 与出口 IP

前三步都对,还剩 DNS 与出口两点:

  • DNSapi.openai.com 解析异常同样会连不上。用客户端自带 DNS,避免解析走本地泄漏。IPv4/IPv6 双栈下解析与出口不一致的影响,见 IPv4、IPv6 与 DNS 的关系
  • 出口 IP:API 与网页最好走同一个稳定、合规的出口。选线思路与网页一致,见 AI 场景的节点选择;对话 / 请求过程中不要切节点,避免连接中途断裂——这一点与网页发消息的逻辑相通,见对话无法发送

进阶:代理端口、环境变量与几个常见误区

排到这里仍不通,往往卡在几个细节上:

  • 代理端口填错:桌面客户端的 HTTP 代理端口和 SOCKS 端口通常不同,HTTPS_PROXY 要填对协议与端口,写错端口会直接连不上;
  • 环境变量没在同一个终端生效:在一个终端窗口设的变量,换个窗口或换个 IDE 内置终端就失效了,配置最好写进 shell 配置文件或工具自身设置里;
  • 大小写与作用范围:部分工具认 HTTPS_PROXY、部分认小写 https_proxy,稳妥起见两者都设;有的 IDE 插件有独立的代理设置,不吃系统环境变量,需要单独填;
  • NO_PROXY 误伤:如果配置里把过多域名排除出代理,可能把 api.openai.com 也放进了直连,反而连不上。

一个更省心的做法仍然是 TUN 模式:它在网络层统一接管,避免了逐个工具、逐个终端配置代理的琐碎,也不容易出现”这个工具走了代理、那个没走”的不一致。定位问题阶段可以先用显式代理逐项验证,日常使用则用 TUN 一劳永逸。

症状 → 原因 → 解决

症状可能原因解决方向
网页正常,终端连不上命令行不读系统代理配 HTTPS_PROXY 或开 TUN
全局能通、规则不通分流漏了 api.openai.com补全 API 域名到代理组
解析失败 / 超时DNS 异常 / 泄漏启用客户端 DNS、统一出口
时通时断出口 IP 不稳 / 请求中途换线固定稳定节点、关自动切换

下一步

若你其实是网页版发消息卡住而非 API 问题,请看对话无法发送怎么办;连网页都打不开则回到 ChatGPT 打不开怎么办。想从整体把 API 归到哪一层,回到 ChatGPT 网络环境完整指南