ChatGPT Codex 全局 404 事故:一次「本地排查 → 云端定责」实录
2026-09-03 下午,Codex CLI 突然开始报错,每轮对话都失败,线程直接卡死。报错长这样:
unexpected status 404 Not Found: Unknown error, url: https://chatgpt.com/backend-api/codex/responses, cf-ray: a35588984f0bf1bc-KHH
这不是「继续」能绕过的错误——404 出现在 Codex CLI 与 ChatGPT 后端之间的核心 API 上。我按「本地问题优先」的顺序排查了一整轮,全部踩坑,最后才发现:这是一场 OpenAI 侧的全局事故。
第一轮排查:本地问题,逐个排除
1. 版本太旧?
codex --version → 0.151.0,官方已有 0.153.0。像是版本问题?
立刻被打脸:GitHub issue #42561 显示 0.153.0 用户同样 404;#42563 用户把 0.150.0 到最新版本全试过,一样挂。版本不是根因。
2. 自定义了 base_url 导致路由错乱?
检查 ~/.codex/config.toml:
model = "gpt-5.6-sol"
model_reasoning_effort = "low"
没有任何 openai_base_url / model_provider 自定义,用的是 ChatGPT 账号登录。排除。
3. 代理/网络问题?
我在国内,走本地代理(Clash,127.0.0.1:10080)。codex doctor 也提示:
⚠ websocket Responses WebSocket failed; HTTPS fallback may still work
看起来像网络层有戏。于是 curl 试探:
| URL | 结果 |
|---|---|
| github.com/openai/codex | 200 ✅ |
| www.google.com | 204 ✅ |
| openai.com | 403 |
| chatgpt.com/ | 403 |
| chatgpt.com/codex/install.sh | 404 ❗ |
| chatgpt.com/backend-api/codex/responses | 404 ❗ |
install.sh 竟然也 404?官方 README 明明写着 curl -fsSL https://chatgpt.com/codex/install.sh | sh。代理出口 IP 被 Cloudflare 针对了?我差点就要去换节点、重装 CLI。
这一整段都是烟雾弹。 真相在下面。
转折:curl 的 404,是 User-Agent 被过滤的假象
同样的 URL,换浏览器 UA 再试:
curl -sI -A "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 Chrome/120.0" \
https://chatgpt.com/codex/install.sh
结果:HTTP/1.1 200 OK → 302 → releases.openai.com/codex/install.sh → 200。
install.sh 完全正常。之前 curl 的 404 只是 Cloudflare 对 curl 默认 UA 的机器人过滤——识别成爬虫,直接丢一个 404 假象。后端 API 同理,浏览器 UA 下 /backend-api/codex/responses 返回的是 405 Method Not Allowed(路由存在,只是不接受 GET),根本不是 404。
结论:本地网络、代理、config、安装全部正常。 那 404 从哪来的?
实锤:GitHub + 状态页,全球同一时间点爆炸
GitHub openai/codex 今天从 15:17 UTC 开始密集出现同款报障:
| issue | 现象 |
|---|---|
| #42559 | All Codex clients(Desktop / codex exec / mcp-server)从 14:39 UTC 起全 404,Windows + Pro + 西班牙出口 |
| #42563 | 跨版本(0.150 起)跨模型(sol / terra / luna)都 404,Linux |
| #42562 | Mac M1,$200 计划,cf-ray 与我的完全同格式 |
| #42560 | Codex Desktop 26.901.20858 持续 404 |
关键细节:同一个二进制,Desktop、exec、mcp-server 三个入口全挂 → 客户端再干净也没用,是服务端在拒绝。cf-ray 从 KHH(香港)到 ABJ(阿比让)到 MAD(马德里)都有 → 不是某个边缘节点的问题,是全球性。
再查 OpenAI 状态页 status.openai.com:
Elevated errors across ChatGPT and Codex — created 2026-09-03 14:58:23 UTC,状态 monitoring,overall: Partial System Degradation
时间线完全对上:
14:39 UTC 首批 404 报障出现(GitHub)
14:58 UTC OpenAI 状态页认领「ChatGPT and Codex 错误升高」
结论与建议
这是一场 OpenAI 后端的全局事故,本地环境无罪。 我花掉的时间——查版本、查 config、测代理、怀疑重装——全是在给一场远端事故做本地陪跑。
如果你也遇到同样的 unexpected status 404 /backend-api/codex/responses:
- 先别急着重装 / 换代理 / 登出登录。 先看
status.openai.com和 GitHub issues,大概率是已知事故。 - 快速自检排除本地:
codex --version、codex doctor、检查 config 有没有自定义 base_url;curl -I几个关键 URL 时记得带浏览器 UA,否则会被 Cloudflare 的 404 假象骗。 - 确认是事故后等官方修复即可。事故窗口内新建的 thread 可能仍是坏的,恢复后开个新会话更稳。
- 给官方 issue 加个订阅,恢复时间以状态页为准。
这次排查最大的教训:远端事故会伪装成本地问题。404、连接失败、WebSocket 打不开……每一条都长得像你机器的锅,但先用最便宜的实验(换 UA curl)和状态页交叉验证,能省掉几小时的无用功。