禁用代理后Git push仍报"No route to host"错误求解决
Git Push 连接代理端口失败的原因及解决方法
可能的原因
- 系统级环境变量残留代理设置:Git会优先读取系统的
HTTP_PROXY/HTTPS_PROXY环境变量,即便清空Git自身配置,这些环境变量仍会生效。 - 局部仓库代理配置未清除:仅操作全局Git配置的话,部分仓库可能单独设置了代理参数,未被覆盖或清除。
- 代理软件/系统网络代理残留配置:之前使用的代理工具(如VPN、SSR等)可能修改了系统网络设置,即使关闭软件,代理规则仍留在系统中。
- 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命令删除。
- Windows:
内容的提问来源于stack exchange,提问作者Hossein Rouhi
相关产品推荐
相关产品推荐

