跳到正文

fatal: unable to access ' ': Failed to connect to github.com port 443 after 123 ms: Couldn't connect to server

3 分钟阅读 701 字 0 查看原文 →

fatal: unable to access ’ ’: Failed to connect to github.com port 443 after 123 ms: Couldn’t connect to server

问题描述

最近在使用 Git 拉取或推送代码到 GitHub 时,经常会遇到以下错误:

fatal: unable to access ‘https://github.com/…/…git/’: Failed to connect to github.com port 443 after 21055 ms: Couldn’t connect to server

翻译为中文:

致命错误:无法访问“https://github.com/…/…/”:连接到 github.com 端口 443 失败,耗时 21055 毫秒:无法连接到服务器。

这个错误表明 Git 客户端无法通过 HTTPS 协议(默认端口 443)连接到 GitHub 服务器。

可能的原因

网络连接问题: 本地网络不稳定或无法访问 GitHub
代理设置问题: 如果使用 VPN/代理,Git 可能没有正确配置代理
防火墙限制: 本地防火墙或公司网络可能阻止了对 GitHub 的访问
GitHub 服务中断: 极少数情况下可能是 GitHub 自身的问题

解决方案

方案一:如果您使用 VPN,可以尝试执行

如果您正在使用代理软件,需要为 Git 配置相应的代理设置:

git config --global http.proxy http://127.0.0.1:7890
git config --global https.proxy https://127.0.0.1:7890

注意:将 7890 替换为您 VPN/代理软件的实际端口号。

针对单个项目配置

git config http.proxy http://127.0.0.1:7890

方案二:如果您不使用 VPN/代理

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

方案三:检查网络连接

尝试 ping github.com 看是否能连通

ping github.com

检查是否能通过浏览器访问 GitHub
尝试更换网络环境(如从 WiFi 切换到移动热点)

方案四:使用 SSH 替代 HTTPS

如果 HTTPS 连接持续有问题,可以考虑使用 SSH 协议:

生成 SSH 密钥(如果还没有):

ssh-keygen -t ed25519 -C "your_email@example.com"

将公钥添加到 GitHub 账户
将远程仓库 URL 从 HTTPS 改为 SSH:

git remote set-url origin git@github.com:username/repo.git

其他建议

总结

Git 连接 GitHub 443 端口失败通常与网络环境或代理设置有关。通过正确配置或清除代理设置,大多数情况下可以解决此问题。如果问题持续存在,考虑使用 SSH 协议或检查更深层次的网络配置。

希望这篇文章能帮助您解决 Git 连接 GitHub 的问题!

本文参考资料

官方文档
[Git Documentation] Pro Git Book. Git-SCM. https://git-scm.com/docs/git-config
技术社区
[Stack Overflow] “Failed to connect to github.com port 443” discussion. 2023. https://stackoverflow.com/questions/76191061/ (Accessed 2023-11-20)

相关文章

语义化版本 2.0.0

原文 https://semver.org/lang/zh-CN/ title: 语义化版本 2.0.0 language: zh-CN author: Wayou Liu 语义化版本 2.0.0 摘要 版本格式:主版本号.次版本号.修订号,版本号递增规则如下: 主版本号:当你做了不兼容的 API 修改, 次版本号:当你做了向下兼容的功能性新增, 修订号:当你做了向下兼容的问题修正。 先行版本号及...

响应式编程简介

响应式编程入门 Reactor 3 是一个围绕该规范构建的库,将响应式编程Reactive Streams范式引入JVM。 在本课程中,你将熟悉 Reactor API。那么,让我们快速介绍一下响应式流和响应式编程中更通用的概念。 为什么 响应式编程是一种新的编程范式,它使用声明式代码(类似于函数式编程)来构建异步处理管道。它是一种基于事件的模型,数据一旦可用就会被推送给消费者:我们处理的是异步事...

你好,Cargo

你好,Cargo Cargo 是 Rust 的构建系统和包管理器。大多数 Rustaceans 使用这个工具来管理他们的 Rust 项目,因为 Cargo 会为您处理很多任务,例如构建代码、下载代码所依赖的库以及构建这些库。(我们将您的代码需要的库称为 “依赖项”。) 最简单的 Rust 程序,就像我们迄今为止编写的程序一样,没有任何依赖项。如果我们建造了“你好,世界!” 使用 Cargo 进行项...

bigroc 头像
bigroc

热爱技术的开发者,持续分享 Java、JavaScript、Go、Docker、AI 等领域的编程经验和技术思考。

评论

滚动到评论区域时再加载第三方评论脚本。