蓝易云 :解决git clone时出现Failed to connect to 127.0.0.1 port 1573问题
摘要:当git clone报错"Failed to connect to 127.0.0.1 port 1573"时,表明Git尝试连接本机代理端口失败。主要原因是Git配置了代理但代理服务未运行或端口错误。快速诊断步骤包括:1)检查Git代理配置;2)查看环境变量;3)确认代理服务状态。解决方案分三种情况:A)取消代理配置;B)修正代理地址;C)改用SSH连接。建议先使用&q
git clone 报 Failed to connect to 127.0.0.1 port 1573 的含义很直接:Git 在发起网络请求时,被引导去连接本机回环地址 127.0.0.1:1573(通常是HTTP/HTTPS 代理),但该端口没有可用服务或被拦截,于是连接失败。换句话说:不是远端仓库挂了,而是你本机的代理链路断了。🙂
一、快速诊断表(先锁定“谁把请求导向了本机端口”)📌
| 现象 | 高概率根因 | 优先修复动作 |
|---|---|---|
| 连接目标是 127.0.0.1:1573 | Git 配了 http.proxy / https.proxy,但本机代理未运行或端口变了 | 查 Git 配置并取消/更正代理 |
| 只在某个仓库报错 | 仓库级(local)配置了代理 | 清理 local 代理配置 |
| 终端里报错,其他软件正常 | 环境变量 HTTP(S)_PROXY 只影响当前 shell | 清理当前会话环境变量 |
| 公司网络必须走代理 | 代理地址/端口写错或代理软件未启动 | 启动代理或改成正确端口 |
二、按“最短路径”排查(建议照顺序做)✅
1)确认 Git 是否配置了代理(最常见)
git config --show-origin --get http.proxy
git config --show-origin --get https.proxy
解释:
-
git config用来读取 Git 配置。 -
--get读取指定项(这里是 http.proxy / https.proxy)。 -
--show-origin会显示该配置来自哪里(全局/系统/仓库),方便你精准“拔掉源头”,避免改错位置。
如果你想一次性把所有代理线索找出来:
git config -l --show-origin | grep -i proxy
解释:
-
-l列出全部配置;grep -i不区分大小写过滤proxy。 -
能快速发现:到底是 global 还是 local 写了代理。
2)检查环境变量是否注入了代理(第二常见)
env | grep -i proxy
解释:
-
env输出当前会话环境变量。 -
如果看到
http_proxy/https_proxy/HTTP_PROXY/HTTPS_PROXY指向127.0.0.1:1573,说明是环境层面把 Git/其他网络工具都带偏了。
三、修复方案(按你的业务场景选一个就够)🛠️
方案 A:你不需要代理(直接清干净,最快)
git config --global --unset http.proxy
git config --global --unset https.proxy
解释:
-
--global代表清理用户级全局配置(最常见的污染源)。 -
--unset删除该配置项,让 Git 走“直连”。
如果是仓库级配置(只某个项目报错),在仓库目录执行:
git config --local --unset http.proxy
git config --local --unset https.proxy
解释:
-
--local只影响当前仓库,适合做“精准止血”。
同时把当前会话环境变量也清掉(只影响当前终端窗口):
unset http_proxy https_proxy HTTP_PROXY HTTPS_PROXY all_proxy ALL_PROXY
解释:
-
unset删除环境变量,避免 Git 继续读到错误代理。 -
all_proxy也常被用来统一代理入口,一并处理更稳。
方案 B:你需要代理,但端口写错/代理没启动(改对 + 确保服务在)
先确认本机该端口是否真的有服务在监听:
ss -lntp | grep 1573
解释:
-
ss -lntp查看 TCP 监听端口与进程。 -
如果查不到
1573,说明代理服务没起来或端口已变更,Git 当然连不上。
把 Git 代理改成你实际可用的地址与端口(用你的真实值替换):
git config --global http.proxy http://127.0.0.1:<port>
git config --global https.proxy http://127.0.0.1:<port>
解释:
-
这里的
<port>必须与代理软件当前监听端口一致。 -
https.proxy 也常用
http://形式配置(这是“代理协议”,不是目标网站协议),关键在于代理端口要通。
方案 C:你想绕开代理,改用 SSH 通道(适合受限网络策略)
git remote -v
解释:
-
查看当前远端地址是
https://...还是git@...(SSH)。 -
如果你当前是 HTTPS,但又被代理影响严重,可考虑改为 SSH(前提是网络允许 SSH 相关端口)。
四、建议的标准工作流(可直接写进运维手册)📈
报错:Failed to connect 127.0.0.1:1573
-> 查 Git 是否配置 proxy(show-origin 定位来源)
-> 有:unset(global/local)并重试
-> 无:查环境变量 proxy
-> 有:unset 环境变量并重试
-> 无:检查本机 1573 是否监听(ss)
-> 未监听:启动代理或改为正确端口
-> 已监听:检查防火墙/安全软件拦截策略
五、你重试前的“验收动作”(确保真的回到直连)✅
git config -l | grep -i proxy
解释:
-
你希望这条命令输出为空(或至少不再出现
127.0.0.1:1573)。 -
这是最务实的“变更验收”,比盲目重试更省时间。
如果你把下面三项贴出来,我可以直接帮你判定是“全局污染 / 仓库污染 / 环境变量注入 / 端口变更”中的哪一种,并给出最短修复路径:
1)git config -l --show-origin | grep -i proxy 输出
2)env | grep -i proxy 输出
3)git remote -v 输出
更多推荐

所有评论(0)