如果在云服务器 / VSCode Remote 里登录或使用 Codex 出现 403、持续加载、无法访问 OpenAI,本质上可以按这套流程排查和修复。

核心思路

让云服务器通过 SSH 反向隧道,借用你 Windows 本机已经可用的代理:

云服务器 127.0.0.1:18080
    -> SSH RemoteForward
Windows 本机 127.0.0.1:17891
    -> 本机代理
OpenAI / Codex 服务

其中:

17891 = Windows 本机代理端口,按你的代理软件实际端口改
18080 = 云服务器内部代理入口端口,可以自己选,一般不用改
32515 = 云服务器 SSH 登录端口,按平台实际分配填写

完整步骤

  1. 先在 Windows 本机确认代理可用:
    curl.exe -I -x http://127.0.0.1:17891 https://api.openai.com

    看到类似:

    HTTP/1.1 200 Connection established

    说明本机代理没问题。

  2. 修改 Windows 的 SSH 配置文件:
    C:\Users\Gordon\.ssh\config

    给对应服务器 Host 加上 RemoteForward

    Host connect.bjb1.seetacloud.com
      HostName connect.bjb1.seetacloud.com
      Port 32515
      User root
      RemoteForward 18080 127.0.0.1:17891
      ServerAliveInterval 30
      ServerAliveCountMax 6
      TCPKeepAlive yes

    注意:

    RemoteForward 18080 127.0.0.1:17891

    不要把 18080 改成 SSH 端口 3251532515 是登录服务器用的,18080 是服务器内部访问代理用的。

  3. 用 VSCode Remote-SSH 重新连接服务器。

    如果已经连着,建议执行:

    Ctrl+Shift+P
    Remote-SSH: Kill VS Code Server on Host...

    然后重新连接。

    curl -I -x http://127.0.0.1:18080 https://api.openai.com

    成功标志:

    HTTP/1.1 200 Connection established

    再测:

    curl https://api.openai.com

    如果返回:

    {
      "message": "Welcome to the OpenAI API! Documentation is available at https://platform.openai.com/docs/api-reference"
    }

    说明云服务器已经能访问 OpenAI。

  4. 在远程服务器设置代理环境变量:
    echo 'export HTTP_PROXY=http://127.0.0.1:18080' >> ~/.bashrc
    echo 'export HTTPS_PROXY=http://127.0.0.1:18080' >> ~/.bashrc
    echo 'export ALL_PROXY=http://127.0.0.1:18080' >> ~/.bashrc
    source ~/.bashrc

    检查:

    env | grep -i proxy

    应该看到:

    HTTP_PROXY=http://127.0.0.1:18080
    HTTPS_PROXY=http://127.0.0.1:18080
    ALL_PROXY=http://127.0.0.1:18080
  5. 如果是在 VSCode 扩展里使用 Codex,还要给 VSCode Server 注入代理环境变量。

    进入目录:

    cd /root/.vscode-server

    创建文件:

    cat > server-env-setup <<'EOF'
    export HTTP_PROXY=http://127.0.0.1:18080
    export HTTPS_PROXY=http://127.0.0.1:18080
    export ALL_PROXY=http://127.0.0.1:18080
    export http_proxy=http://127.0.0.1:18080
    export https_proxy=http://127.0.0.1:18080
    export all_proxy=http://127.0.0.1:18080
    EOF

    赋予执行权限:

    chmod +x server-env-setup

    然后再次:

    Remote-SSH: Kill VS Code Server on Host...

    重新连接服务器,再启动 Codex 扩展。

  6. 验证 Codex 扩展是否吃到代理。

    远程终端执行:

    ps aux | grep -i codex

    找到类似:

    /root/.vscode-server/extensions/openai.chatgpt-xxx/bin/linux-x86_64/codex app-server

    记下 PID,比如 16750,然后执行:

    tr '\0' '\n' < /proc/16750/environ | grep -i proxy

    如果能看到:

    HTTP_PROXY=http://127.0.0.1:18080
    HTTPS_PROXY=http://127.0.0.1:18080
    ALL_PROXY=http://127.0.0.1:18080

    说明 Codex 扩展已经应用代理了。

以后需要注意

只要下面几项不变,就不用重新配置:

Windows 本机代理端口还是 17891
SSH config 里的 RemoteForward 还在
VSCode Remote 连接的是同一台服务器
本地代理软件保持运行状态

如果云平台重新分配了 SSH 端口,比如 32515 变了,只需要改 SSH config 里的:

Port 新端口

如果本机代理端口变了,比如 17891 变成 7890,需要同时改:

RemoteForward 18080 127.0.0.1:7890

然后重连 VSCode。

一句话总结:先让本地代理通,再用 SSH RemoteForward 把云服务器的 127.0.0.1:18080 转到本地代理端口,最后让 VSCode Server 和 Codex 扩展都继承这个代理环境变量。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐