Gemini CLI 代理连接 GitHub 失败怎么办:环境变量、证书与网络测试
Gemini CLI 连接 GitHub 失败时,先按主机名区分模型请求与代码下载,再检查代理变量继承、DNS、TLS、认证和状态码。
Gemini API 请求和 GitHub 下载属于两条链路。先按失败主机和错误文本判断对象,再检查进程是否读取代理变量;代理 IP 不能修复 API 凭据、仓库权限或证书链问题。
Gemini API、GitHub 仓库和 Release 下载是不同链路。先看失败命令访问的主机,再决定查 CLI 参数、凭据、代理变量还是仓库权限;代理 IP 只改变出口,不能代替 API 或 GitHub 权限。
先确认失败请求发往哪个主机
记录目标主机、命令、退出码和错误文本。Gemini API 失败先查 API 端点、凭据和模型服务;Git clone 或 Release 失败则查 Git 子进程、仓库权限和下载地址。不要把两类错误合并成“代理失效”。
如何检查 CLI 是否使用代理
在启动 CLI 的同一终端确认 HTTP_PROXY、HTTPS_PROXY 和 NO_PROXY 是否存在,但不要打印完整代理 URL。设置后先做脱敏出口检测,再运行原 CLI 或 Git 命令;如果出口检测成功而 CLI 失败,继续检查子进程环境、Git 自身配置和目标凭据。修改变量后重新启动 CLI,避免沿用旧进程。
命令行变量和 HTTP/SOCKS5 参数可参考Linux 和 cURL 怎么使用 HTTP/SOCKS5 代理。
DNS、TLS、认证和限流错误怎么处理
轻量请求成功而原 CLI 失败,问题更可能在 CLI 参数、凭据或 Git 权限;轻量请求也失败,则回到 DNS、TLS 或代理认证分支。
出现 407 时可参考407 Proxy Authentication Required 是什么,TLS 或超时则转到代理 timeout、connection refused 和 TLS 证书错误怎么排查。
下面按最早出现的错误层选择检查和复测动作。
| 错误/现象 | 先检查 | 处理动作 | 复测标准 |
|---|---|---|---|
| DNS/连接超时 | 主机、解析、连接路径 | 修复连接链路 | 主机可达 |
| TLS/CA 错误 | CA、运行时信任库 | 保持校验并修复信任链 | TLS 握手通过 |
| 407 | 代理认证 | 核对账号、密码和格式 | 代理认证成功 |
| 401/403 | API 或仓库权限 | 回查凭据和权限 | 权限响应正常 |
| 429 | 服务端提示 | 按 Retry-After 等待 | 小请求恢复 |
先处理最早出现的错误层,再运行原 CLI 或 Git 命令,不要同时修改代理和凭据。
如何复测 Gemini CLI 或 Git 命令
先对失败主机执行不含凭据的轻量请求,再运行原 Gemini CLI、Git clone 或 Release 下载命令。轻量请求失败,沿 DNS、TLS 或 407 分支处理;轻量请求成功而原命令失败,重点检查 CLI 子进程、Git 自身代理配置、API 令牌或仓库权限。每次只改一个变量,并记录退出码和目标主机。
哪些情况下应暂停请求
证书错误不能通过关闭 TLS 校验解决;401/403 不能用更换出口代替权限核验;429 按服务端提示等待并降低频率。代理 URL 中的账号、密码和令牌不得进入截图、日志或共享终端。
先用轻量请求确认 GitHub 连接链路
透明代理只需主机、端口、账号和密码四项;下面的变量均为占位值,实际字段按当前客户端文档核验:
如果需要进一步核对 API 接入字段,可查看全球代理开发者中心。
```bash
export HTTPS_PROXY="http://user:password@proxy.example:8080"
curl -I --max-time 10 https://github.com/ # 预期 200/301;先看状态码和 Server
```
如果 curl 成功而 CLI 失败,记录 CLI 实际读取的环境变量和子进程继承情况;若返回 401/403,转查 GitHub 凭据或仓库权限;TLS/CA 错误则检查运行时信任库,保持证书校验开启。
FAQ
Gemini API 成功但 GitHub 失败,是否说明代理失效?
不一定,两者可能由不同进程和目标主机访问,应分别验证。
如何确认 CLI 子进程继承了代理变量?
在启动 CLI 的同一终端检查变量是否存在,再对目标主机发起轻量请求确认连接路径。不要打印包含账号或密码的完整代理 URL。
407、401/403 和 429 应该分别查什么?
407 查代理认证;401/403 查 API 凭据、仓库权限或项目设置;429 按服务端提示等待并降低请求频率。
证书错误可以通过关闭 TLS 校验解决吗?
不建议关闭校验。应检查系统 CA、运行时信任库和证书链,再用相同目标复测。
