文档首页> IDC服务> 蓝易云:git报错:Failed to connect to

蓝易云:git报错:Failed to connect to

发布时间:2025-12-22 00:01       

git 报错 Failed to connect to 127.0.0.1,几乎可以直接定性为:Git 的网络请求被“改道”到了本机回环地址(通常是代理配置、地址重写或 hosts 解析导致),而本机对应端口没有服务在监听,所以连接失败。下面按“最快止血→精准定位→长期治理”的路径处理。🙂


一、先确认:到底是 Git 在连“远程仓库”,还是被改成连“本机”

1)检查远程地址是否本来就是 127.0.0.1

git remote -v
​
  • 作用:输出 fetch/push 的远程 URL。
  • 判断:如果远程地址直接是 http://127.0.0.1:xxxx/... 或 https://127.0.0.1/...,那不是网络问题,是仓库地址配置错了。
    处理:把 remote 改回正确仓库地址即可。

2)看失败发生在 HTTPS 还是 SSH

  • HTTPS 常见报错:Failed to connect to 127.0.0.1 port xxxx
  • SSH 常见报错:ssh: connect to host 127.0.0.1 port 22: Connection refused

这一步很关键,因为两类问题的根因不同:HTTPS 多为 HTTP 代理;SSH 多为 SSH 配置/跳板/代理命令。✅


二、80% 的根因:代理把请求指向了本机(但代理没开或端口变了)🚦

1)检查 Git 自己的代理配置(最常见)

git config --global --get http.proxy
git config --global --get https.proxy
git config --system --get http.proxy
git config --system --get https.proxy
​
  • 作用:查看全局/系统级是否设置了代理(很多时候是 127.0.0.1:7890/1080/8118 之类)。
  • 修复(临时止血):取消代理
git config --global --unset http.proxy
git config --global --unset https.proxy
​

2)检查系统环境变量代理(Git 会继承)

# Linux/macOS
env | grep -i proxy

# Windows(PowerShell)
Get-ChildItem Env: | Select-String -Pattern "proxy"
​
  • 关注:HTTP_PROXY / HTTPS_PROXY / ALL_PROXY / NO_PROXY
  • 修复:把这些变量清空或改成真实可用的代理地址;如果你不需要代理,直接移除最干净。

3)确认本机代理端口到底有没有服务在监听

# Linux
ss -lntp | grep -E ":(7890|1080|8118)\b" || true

# macOS
lsof -nP -iTCP -sTCP:LISTEN | grep -E ":(7890|1080|8118)\b" || true
​
  • 作用:看代理软件是否启动、端口是否匹配。
  • 结论:如果 Git 配了 127.0.0.1:xxxx,但这里查不到监听,那就是“指向了空气”。😄

三、容易被忽略的两类“暗改道”:URL 重写与 hosts 解析

1)检查 URL 重写(insteadof 把域名替换成本机)

git config --global -l | grep -i insteadOf
​
  • 作用:排查是否存在把 https://xxx.com/ 改写成 http://127.0.0.1:xxxx/ 的规则。
  • 修复:删除对应的 url.*.insteadof 配置项(按实际键名 --unset)。

2)检查 hosts 是否把仓库域名解析到 127.0.0.1

  • Linux/macOS:/etc/hosts
  • Windows:C:\Windows\System32\drivers\etc\hosts
  • 关注:是否有 仓库域名 127.0.0.1 这一类映射。
    这类配置常用于本地调试,但会直接让 Git 去连本机。

四、快速定位对照表(直接按现象落点)📌

现象特征 高概率原因 一句话处理
URL 正常,但错误里出现 127.0.0.1:xxxx Git/系统代理指向本机 取消 http(s).proxy或修复代理进程与端口
git remote -v就是 127.0.0.1 remote 配错 git remote set-url origin 正确地址
只在公司/特定网络失败 需要代理或被拦截 启用可用代理,并确保端口监听
SSH 报连 127.0.0.1:22 SSH 配置被改写/ProxyCommand 检查 ~/.ssh/config与跳转设置

五、建议的“最短闭环”操作顺序(务实版)

  1. git remote -v 确认远程地址没写错
  2. 查并清理 git config --global --get http.proxy/https.proxy
  3. 查环境变量代理并清理
  4. 查 insteadof、查 hosts
  5. 再执行一次 git fetch -v 验证恢复

只要按这个顺序走,基本能在几分钟内把问题收敛到“代理没开/端口变了/配置被写死”三选一。需要你把报错里显示的 端口号(例如 7890/1080/8118/xxxx)对上即可定位到具体配置点。