Skip to content

报错 Failed to connect to github.com port 443 解决方法

执行 git clone / git push 时报:

text
fatal: unable to access 'https://github.com/...':
Failed to connect to github.com port 443 after 21090 ms: Connection timed out

Connection refused。这说明 Git 走 HTTPS(443 端口)连不上 GitHub。按下面顺序排查,90% 能定位。

先分清 timed out 和 refused

报错含义优先怀疑
Connection timed out连接发出去没回应网络封锁 / DNS / 代理没开
Connection refused目标明确拒绝代理配错端口 / 本地代理没运行

方法一:检查是不是"代理残留"(最常见)

很多人之前配过 git 代理,后来代理客户端关了,但 git 配置还指着 127.0.0.1:7890,于是每次都连一个没开的端口 → refusedtimed out

bash
# 查看 git 当前代理配置
git config --global --get http.proxy
git config --global --get https.proxy

如果输出了 127.0.0.1:xxxx 但你现在没开代理,清掉它:

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

反过来:如果你现在有代理,那就确认端口对不对(见方法二)。

方法二:确认代理是否开启、端口是否正确

bash
# 单独测代理端口能否通到 github(把 7890 换成你的端口)
curl -x http://127.0.0.1:7890 https://github.com -I
  • 通了 → 把 git 代理指到这个端口:参考 Git 设置代理
  • 不通 → 代理客户端没开,或端口填错(HTTP 端口 vs SOCKS 端口别搞混)。

方法三:测试 443 端口连通性

bash
# 直接测能否连到 github 443
curl -v https://github.com

# 或用 telnet / Test-NetConnection

Windows PowerShell:

powershell
Test-NetConnection github.com -Port 443

如果 TcpTestSucceeded 为 False,说明 443 直连被网络阻断 → 需要代理,或对 SSH 用户改走 SSH 443

方法四:排查本地防火墙 / 安全软件

  • 临时关闭第三方杀毒 / 安全卫士,重试。
  • 公司电脑可能有企业防火墙拦截 GitHub,需走公司允许的代理。

方法五:DNS 问题

如果 github.com 解析到了错误 IP,也会连不上:

bash
nslookup github.com

解析异常就换 DNS 或改 hosts,详见 👉 DNS 污染导致 GitHub 打不开Hosts 加速

方法六:改用 SSH 或降级尝试

排查顺序速查

text
报错 443
  ├─ 有 git 代理配置但没开代理? → unset(方法一)
  ├─ 有代理? → curl -x 测端口(方法二)
  ├─ 443 直连不通? → Test-NetConnection(方法三)→ 需代理/SSH443
  ├─ 解析异常? → 换 DNS / hosts(方法五)
  └─ 都正常还不行 → 防火墙/安全软件(方法四)

小结

  • 最高频原因:代理配置残留,--unset 一下就好。
  • 有代理就确认端口、用 curl -x 验证。
  • 443 被封的,走代理或 SSH 443

本文仅供技术学习与研究,请遵守所在国家/地区法律法规。

本站为技术学习交流站点,与 GitHub, Inc. 无任何隶属或官方关系。所有内容仅供技术研究与学习,请遵守所在国家/地区的法律法规。