ChatGPT 网页正常但 API / Codex 连接异常怎么排查
“网页能用、API 或 Codex 连不上”几乎从不是节点问题,而是两条路走的根本不是同一条:网页走 chatgpt.com、API 走 api.openai.com,而命令行和 IDE 工具默认往往不读系统代理——所以浏览器正常,终端里的请求可能压根没走代理。
这是一篇偏进阶的排查文,按”域名不同 → 代理是否生效 → 分流是否覆盖 → DNS 与出口”的顺序展开。
第一步:搞清楚网页和 API 不是一回事
网页版 ChatGPT 与 OpenAI API 是两套入口:
- 网页:
chatgpt.com、openai.com等,靠浏览器访问; - API / Codex / SDK:
api.openai.com,靠程序、命令行或 IDE 插件访问。
它们域名不同、调用方式不同、连接特征也不同。所以”网页秒开”只证明浏览器这条路通,完全不能推断出终端里的 api.openai.com 请求也走通了。判断很简单:在终端里直接测试对 api.openai.com 的连通性,若超时或被拒,问题就在下面两层。
第二步:命令行 / IDE 工具是否真的走了代理
这是最核心、也最反直觉的一层。**桌面代理客户端的”系统代理”开关,很多命令行工具并不认。**它们只读自己的配置或环境变量,于是即使浏览器走了代理,终端里的请求仍从本地直连出去,自然连不上。
两种解决思路:
- 给工具显式配置代理——为终端设置
HTTPS_PROXY/HTTP_PROXY指向本地代理端口,或在 IDE 插件、SDK 里填写代理地址。这样请求会明确走代理; - 开启 TUN 模式——让客户端在网络层接管全局流量,命令行、IDE、SDK 无需各自配置即可一并走代理。配置方法见 Clash Verge 的 TUN 模式教程。TUN 是解决”程序不读系统代理”最省心的通用方案。
配好后再测一次 api.openai.com,多数”网页能用 API 不行”的情况到这一步就解决了。
第三步:分流规则是否覆盖 API 域名
代理确实生效了,仍连不上,就要看分流规则。**很多订阅内置规则只把网页域名走了代理,漏掉了 API 域名。**确认规则里包含 api.openai.com,并覆盖认证、资源相关的域名,指向你验证过的 AI 代理组。具体涉及哪些域名以 OpenAI 当前官方说明为准,规则宁可写全一点。
排查技巧:临时切”全局模式”再测 API,若全局能通、规则模式不通,就是分流遗漏,把缺的域名补进规则即可。
第四步:DNS 与出口 IP
前三步都对,还剩 DNS 与出口两点:
- DNS:
api.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 网络环境完整指南。