CodexPro + MCP + Cloudflare 配置详解:HTTP2、QUIC 与连接排障

主题:AI 开发工程治理实践
版本:CSDN 发布稿 v1.0
适合人群:已经启动 CodexPro,但 ChatGPT App / Connector 连接不稳定或想理解底层链路的开发者
阅读方式:本文可独立阅读,不依赖其他文章背景。

从零打通 那啥GPT 网页版 + 桌面版 访问本地代码:CodexPro + MCP 实战教程

一句话结论

ChatGPT App / Connector 需要访问一个公网 HTTPS MCP 地址。CodexPro 运行在本地,Cloudflare Tunnel 负责把本地 MCP 服务转发到公网;如果当前网络环境导致 Quick Tunnel 连接异常,可以尝试用 cloudflared 的 HTTP/2 模式排查。

Workspace CodexPro MCP Server Cloudflare Tunnel ChatGPT App / Connector ChatGPT 用户 Workspace CodexPro MCP Server Cloudflare Tunnel ChatGPT App / Connector ChatGPT 用户 查看工作区文件结构 发起 MCP 工具调用 请求 HTTPS Tunnel 转发到 127.0.0.1:8787 读取目录 返回文件列表 返回工具结果 展示文件结构

1. 为什么需要理解这条链路

很多配置失败不是 CodexPro 本身坏了,而是链路中某一层没通:

  • ChatGPT App / Connector 配置错。
  • Cloudflare Tunnel 地址过期。
  • 本地 CodexPro 没启动。
  • Tunnel 协议、代理或防火墙导致连接中断。
  • localhost 错当成公网地址。

理解链路后,排障会快很多。

2. 组件职责

组件 职责 常见错误
ChatGPT 发起工具调用 对话没有触发工具
ChatGPT App / Connector 保存 MCP URL Authentication 选错
Cloudflare Tunnel 公网 HTTPS 转发 Tunnel、代理或防火墙异常
CodexPro 本地 MCP Server 服务未启动
Workspace 本地项目文件 权限不足或路径错误

3. 标准启动流程

进入项目目录:

Set-Location K:\Projects\demo-ai-workspace

启动 CodexPro:

codexpro start

在这里插入图片描述
一般默认即可,连续回车
在这里插入图片描述

一般会自动打开浏览器

记录首次配置时输出中的 Server URL:

注意,云端无法访问本地回环地址,详细转换请看:

从零打通 那啥GPT 网页版 + 桌面版 访问本地代码:CodexPro + MCP 实战教程

https://example.trycloudflare.com/mcp?codexpro_token=<redacted>

在 ChatGPT App / Connector 中配置:

Connection Type: Server URL
Authentication: No Authentication / None

在这里插入图片描述
在这里插入图片描述

4. 为什么 127.0.0.1 不能直接用

127.0.0.1 是回环地址,只代表“当前机器自己”。

对你的电脑来说:

127.0.0.1 = 你的电脑

对 ChatGPT 云端来说:

127.0.0.1 = ChatGPT 服务器自己

所以 ChatGPT 不能通过 http://127.0.0.1:8787 访问你的本机服务,必须使用 Cloudflare Tunnel 暴露出来的 HTTPS 地址。

在这里插入图片描述

5. Authentication=None 的真实含义

ChatGPT App / Connector 里的 Authentication=No Authentication / None 容易让人误解。

它不是说完全没有安全控制,而是说:

ChatGPT 不额外发起 OAuth 授权流程。

CodexPro 生成的 URL 本身已经带有 token:

?codexpro_token=<redacted>

因此 Connector 应选择 No Authentication / None。

如果选 OAuth,会出现授权流程不匹配,导致连接失败。

6. 405 Method Not Allowed 是什么

用浏览器打开 MCP URL,有时会看到:

405 Method Not Allowed

这通常说明:

  • 域名可以访问。
  • Tunnel 在工作。
  • MCP 服务收到了请求。
  • 只是浏览器 GET 方法不是 MCP 协议需要的方法。

所以 405 不一定是错误,反而可以作为服务可达的信号。

7. ERR_CONNECTION_CLOSED 排查

如果浏览器或 ChatGPT App / Connector 报:

ERR_CONNECTION_CLOSED

先判断是不是 Cloudflare Tunnel 协议问题。

7.1 可能原因

  • 网络环境可能阻断 QUIC 或相关 UDP 流量。
  • 本地代理或 TUN 模式可能干扰 Tunnel。
  • 公司/校园网络可能限制部分出站连接。
  • Cloudflare 临时 Tunnel 不稳定。

7.2 解决思路:切换 HTTP/2

如果你能使用 cloudflared,可以手动启动 HTTP/2 Tunnel 作为排障方案:

cloudflared tunnel --protocol http2 --url http://127.0.0.1:8787

然后将新生成的 HTTPS 地址配置到 ChatGPT App / Connector。

截图占位:这里放 HTTP/2 tunnel 启动成功截图。

7.3 如何判断是 QUIC 失败但 HTTP/2 可用

你的终端里如果出现类似输出:

UDP Connectivity  FAIL  QUIC connection failed
TCP Connectivity  PASS  HTTP/2 connection successful
SUMMARY: Environment ready with degraded transport. cloudflared will proceed using 'http2'.

基本可以判断:DNS 和 Cloudflare API 是通的,问题主要出在 QUIC/UDP 连接上。
这时切到 HTTP/2 是合理的排障方向。

如果 HTTP/2 Tunnel 启动成功,日志里通常能看到:

Registered tunnel connection ... protocol=http2

这说明 Tunnel 已经通过 HTTP/2 注册成功。

7.4 手动 cloudflared 链接怎么填到 ChatGPT

手动运行 cloudflared 时,终端可能只给你一个基础域名:

https://example.trycloudflare.com

但 ChatGPT App / Connector 需要的是 CodexPro 的完整 MCP URL。你通常需要保留
CodexPro 原始 URL 里的路径和 token,拼到新的域名后面:

https://example.trycloudflare.com/mcp?codexpro_token=<redacted>

注意:

  • 不要把真实 codexpro_token 写进文章。
  • 不要把真实 trycloudflare.com 临时域名原样截图发布。
  • context canceled 不一定表示 HTTP/2 失败,也可能只是浏览器、ChatGPT 或本地服务中断了某次请求。
  • 真正重要的成功信号是 Registered tunnel connection ... protocol=http2

8. 完整排障表

现象 可能原因 处理方式
Connector 连接失败 Authentication 选了 OAuth 改成 No Authentication / None
浏览器打不开 URL Tunnel 未启动或过期 重启 CodexPro
405 Method Not Allowed 浏览器 GET 方法不匹配 通常可接受
ERR_CONNECTION_CLOSED Tunnel 协议、代理或防火墙异常 尝试 HTTP/2 或更换稳定 Tunnel
QUIC connection failed 但 HTTP/2 successful UDP/QUIC 被阻断或不稳定 显式使用 --protocol http2
手动 Tunnel 只有基础域名 缺少 /mcp 和 token 拼接为 /mcp?codexpro_token=<redacted>
context canceled 单次请求被客户端或本地服务中断 先确认 Tunnel 是否仍 registered
ChatGPT 不读文件 没触发 Connector 新建对话并明确请求
写入失败 工作区权限不足 检查路径和权限

9. 推荐验证顺序

不要一上来就让 ChatGPT 改代码。按这个顺序验证:

  1. 浏览器访问 MCP URL,确认不是完全打不开。
  2. ChatGPT 查看文件结构。
  3. ChatGPT 读取 README。
  4. ChatGPT 创建一个测试 Markdown。
  5. 本地执行 git status --short
  6. 删除或提交测试文件。

10. 安全建议

发布教程时:

  • 不展示真实 token。
  • 不展示完整 Cloudflare 临时 URL。
  • 截图必须打码。
  • 不公开私有项目路径。
  • 不把 MCP URL 写进 Git。

日常使用时:

  • 不用时关闭 Tunnel。
  • 重要写入先走 handoff。
  • 每次写入后检查 Git diff。

11. FAQ

Cloudflare Tunnel 是必须的吗?

需要一个公网 HTTPS 通道。Cloudflare Tunnel 是一种方便选择,但不是唯一方案。

HTTP/2 一定比 QUIC 好吗?

不是。QUIC 在很多环境下很好,但在某些代理、TUN、防火墙环境里可能被阻断。HTTP/2 只是一个常见排障选择。

看到 405 就能说明配置完全成功吗?

不能,只能说明服务大概率可达。最终仍要在 ChatGPT App / Connector 中实际调用验证。

12. 延伸阅读

完成连接排障后,可以继续了解 ChatGPT、Codex CLI、CodexPro 如何分工,避免所有事情都挤在一个聊天窗口里。

13. 参考资料

Logo

AtomGit AI 社区提供模型库、数据集、Agent、Token等资源

更多推荐