You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

禁用代理后Git push仍报"No route to host"错误求解决

Git Push 连接代理端口失败的原因及解决方法

可能的原因

  1. 系统级环境变量残留代理设置:Git会优先读取系统的HTTP_PROXY/HTTPS_PROXY环境变量,即便清空Git自身配置,这些环境变量仍会生效。
  2. 局部仓库代理配置未清除:仅操作全局Git配置的话,部分仓库可能单独设置了代理参数,未被覆盖或清除。
  3. 代理软件/系统网络代理残留配置:之前使用的代理工具(如VPN、SSR等)可能修改了系统网络设置,即使关闭软件,代理规则仍留在系统中。
  4. DNS或网络路由异常:网络配置错误可能导致GitHub域名被解析到代理服务器地址,或路由规则强制跳转至192.168.2.3。

解决步骤

1. 检查并清除系统环境变量

  • Windows:打开命令提示符,先查看代理环境变量:

    echo %HTTP_PROXY%
    echo %HTTPS_PROXY%
    

    若有输出,执行以下命令临时清除:

    set HTTP_PROXY=
    set HTTPS_PROXY=
    

    永久清除需右键「此电脑」→「属性」→「高级系统设置」→「环境变量」,在系统变量中删除HTTP_PROXY和HTTPS_PROXY。

  • Linux/macOS:打开终端,先查看变量:

    echo $HTTP_PROXY
    echo $HTTPS_PROXY
    

    有输出的话,临时清除:

    unset HTTP_PROXY
    unset HTTPS_PROXY
    

    永久清除需修改~/.bashrc、~/.zshrc等配置文件,删除设置代理的行,再执行source ~/.bashrc(对应你的shell配置文件)。

2. 检查并清除局部仓库代理配置

进入问题仓库目录,执行命令查看局部配置:

git config --local --list

若发现http.proxy或https.proxy条目,执行清除命令:

git config --local --unset http.proxy
git config --local --unset https.proxy

3. 重置系统网络代理设置

  • Windows:打开「设置」→「网络和Internet」→「代理」,确保「自动检测设置」开启,「手动设置代理」处于关闭状态。
  • macOS:打开「系统设置」→「网络」→ 选中当前网络 →「详细信息」→「代理」,取消所有已勾选的代理选项。
  • Linux:根据桌面环境(如GNOME/KDE)进入网络设置,关闭系统代理。

4. 彻底清除Git全局代理配置

再次确认全局配置无代理条目:

git config --global --list

若仍有代理相关配置,执行批量清除:

git config --global --unset-all http.proxy
git config --global --unset-all https.proxy

5. 检查网络路由与DNS

  • 执行ping github.com,确认返回的是GitHub官方IP(而非192.168.2.3)。
  • 若DNS解析异常,可切换公共DNS(如8.8.8.8、114.114.114.114)。
  • 检查路由表:
    • Windows:route print,查看是否有指向192.168.2.3的异常路由,如有则删除。
    • Linux/macOS:route -n,若存在异常路由,使用route del命令删除。

内容的提问来源于stack exchange,提问作者Hossein Rouhi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 07:47:55