Git报错:Github port 443 : Timed out解决方法总结
再使用Git克隆项目时遇到了这个问题,总是timeout连接不上GitHub,弄得我这是焦头烂额,如图所示。
我在网上查找解决方法,试验了几种方法。
解决方法——2024.01.06
1. 检查网络连接
首先,确保您的计算机正常连接到网络。请检查网络连接是否正常,并尝试通过其他网站验证您的网络连接是否稳定。
2. 检查防火墙设置
防火墙设置可能会阻止 Git 与 github.com 建立连接。您可以尝试在防火墙设置中添加例外规则,允许 Git 与 github.com 进行通信。具体步骤可能因操作系统而异,您可以根据您所使用的防火墙软件进行相应的设置。
下面以 Windows 操作系统为例,演示如何添加防火墙例外规则:
1. 打开控制面板,选择“Windows 防火墙”选项。
2. 在新窗口中,点击“高级设置”。
3. 在左侧面板中,选择“入站规则”。
4. 在右侧的面板中,点击“新建规则”。
5. 在弹出的向导中,选择“端口”选项,并点击“下一步”。
6. 选择“特定本地端口”选项,输入“443”,并点击“下一步”。
7. 选择“允许连接”选项,并点击“下一步”。
8. 在需要应用此规则的网络类型上选择“公共”和“专用”网络,并点击“下一步”。
9. 输入规则名称,如“允许 Git 连接 github.com”,并点击“完成”。
3. 更改 Git 的远程 URL
如果上述方法仍然无法解决问题,您可以尝试修改 Git 的远程 URL。在命令行中运行以下命令:
1 | git remote set-url origin https: //github.com/your-username/your-repo.git |
将 your-username
替换为您的 GitHub 用户名,your-repo
替换为您的仓库名称。
4. 尝试使用 SSH 连接
如果以上方法均无法解决问题,您可以尝试使用 SSH 连接到 github.com。SSH 连接使用 SSH 密钥进行身份验证,可以提供更安全和稳定的连接。
首先,确保您已经生成了 SSH 密钥。如果没有,请按照 GitHub 的文档生成 SSH 密钥并添加到您的 GitHub 帐户中。
然后,在您的本地仓库中运行以下命令,将远程 URL 更改为 SSH URL:
1 | git remote set-url origin git@github.com:your-username/your-repo.git |
同样,your-username
替换为您的 GitHub 用户名,your-repo
替换为您的仓库名称。
示例说明
假设您之前使用的是 HTTPS URL 进行 Git 操作,并且遇到连接超时的问题。您可以尝试使用 SSH URL 进行操作,具体步骤如下:
- 生成 SSH 密钥并添加到 GitHub 帐户。
- 打开命令行或终端,并进入您的本地仓库所在的目录。
- 运行以下命令,将远程 URL 更改为 SSH URL。
1 | git remote set-url origin git@github.com:your-username/your-repo.git |
- 再次尝试进行 Git 操作,如
git push
或git clone
。
但是以上几种方法都没能解决我的Git克隆项目时的timeout问题,最终我找到了以下方法解决了我的问题。
1、打开代理页面
打开 设置 --> 网络与Internet --> 查找代理
记录下当前系统代理的 IP 地址和端口号
2、修改 Git 的网络设置
1 2 3 | # 注意修改成自己的IP和端口号 git config --global http.proxy http: //127.0.0.1:7890 git config --global https.proxy http: //127.0.0.1:7890 |
完结撒花
可以重新 clone 尝试了。当我们访问GitHub的时候一般都会使用梯子,所以往上推代码的时候也是需要梯子,没有梯子推送成功概率很低,一般都会报错超时,所以设置梯子提高访问成功率;
取消代理是因为,访问 Gitee 或其它是不需要梯子,所以要取消代理;或者后悔设置代理了,也可以利用此取消。
1 2 3 4 5 6 7 | # 取消代理 git config --global --unset http.proxy git config --global --unset https.proxy # 查看代理 git config --global --get http.proxy git config --global --get https.proxy |
问题重现——2024.01.07
就在我以之前的方法解决完克隆项目出现443端口timeout时,我以为问题全部解决了,结果今天在使用git时又出现了timeout。
如下描述:Failed to connect to 127.0.0.1 port 31423 after 2073 ms: Couldn't connect to server
我蒙了,到底为什么我就是连接不上啊。
最终我发现了问题的原理。原来每次挂梯子网,软件就会更改我系统的端口号,这会导致的本机系统端口号和git的端口号不一致。这就导致我们连接不到github
解决方法就是在git中查看自己的git端口号,把他保持和梯子的端口号一致。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | // 首先,查一下当前全局的 http 代理: git config --global http.proxy // 如果有代理,就取消 git config --global --unset http.proxy // 再查 https 的代理: git config --global https.proxy // 同样的,有就取消 git config --global --unset https.proxy //设置git端口号和上面的端口号保持一致(我的是31875) git config --global http.proxy http: //127.0.0.1:31875 git config --global https.proxy https: //127.0.0.1:31875 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具