关注

【代码管理】使用github在线源代码管理工具时,遇到443提示服务器无法连接到

大家好,我是全栈小5,欢迎来到《小5讲堂》。
这是《源代码管理工具》系列文章,每篇文章将以博主理解的角度展开讲解。
温馨提示:博主能力有限,理解水平有限,若有不对之处望指正!

在这里插入图片描述

前言

最近在参加一个活动,需要用到github上传公开得代码和资料。
大家都知道,默认情况下访问这个github网页是非常缓慢得,甚至是无法访问。
然后折腾了两天,刚开始可以Clone克隆代码下来,也可以提交。
接着,第二天突然显示443提示无法连接到服务器。

解决方法

最后解决是通过直接配置全局参数后,并且去掉上面提示的pem文件。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

证书提示

error setting certificate file: /path/to/cacert.pem
在这里插入图片描述
这个错误很常见。它表示 Git 在尝试进行 SSL/TLS 安全连接时,无法找到或无法正确使用指定的证书包文件(cacert.pem)。

核心原因:Git 需要一组受信任的根证书来验证 GitHub 服务器的身份。如果它找不到这个文件,或者文件路径错误、文件本身损坏,就会抛出这个错误。

别担心,我们可以通过以下几种方法来解决它。请按顺序尝试


方法一:最简单的方法(推荐)- 让 Git 使用系统自带的证书存储【亲测,这方法有效】

这是最直接、最一劳永逸的方法。我们不需要指定自定义的证书文件,而是让 Git 使用你操作系统(Windows/macOS)或 Git 自己内置的证书存储。

  1. 打开 Git Bash 或命令行

  2. 执行以下命令,告诉 Git 不要使用任何自定义的证书文件,而是使用系统默认的

    git config --global --unset http.sslCAInfo
    git config --global --unset http.sslCAPath
    

    这两个命令会删除全局配置中关于自定义证书路径的设置。

  3. 再次尝试你的 Git 操作(如 git clone, git push)。

    • 对于大多数现代 Windows 系统(Git for Windows 2.14+)和 macOS 系统,这通常能立刻解决问题。Git 会自动使用系统内置的证书库。

如果方法一之后问题依旧,请继续尝试方法二。


方法二:手动指定正确的证书文件路径

有时,特别是某些旧版 Git 或特殊环境下,可能需要我们手动告诉 Git 证书文件在哪里。

第一步:找到 cacert.pem 文件

这个文件通常就在你的 Git 安装目录里。

  • 在 Git Bash 中,你可以通过运行以下命令来快速找到它

    find / -name "cacert.pem" 2>/dev/null | head -1
    

    或者更精确地搜索 Git 的安装目录:

    find /mingw64 -name "cacert.pem" 2>/dev/null
    
  • 常见的路径可能是

    • C:\Program Files\Git\mingw64\ssl\certs\ca-bundle.crt (Windows)
    • C:\Program Files\Git\mingw64\ssl\certs\ca-bundle.trust.crt (Windows)
    • /usr/ssl/certs/ca-bundle.crt (Git Bash)
    • 注意:Git 更常用 ca-bundle.crt 而不是 cacert.pem

第二步:设置正确的路径

一旦你找到了正确的文件(通常是 ca-bundle.crt),使用以下命令将其路径配置给 Git:

# 请将下面的路径替换为你实际找到的路径!
git config --global http.sslCAInfo "C:\Program Files\Git\mingw64\ssl\certs\ca-bundle.crt"

重要提示

  • 在 Windows 的 Git Bash 中使用路径时,可以使用类似 C:/Program Files/Git/... 的正斜杠格式,或者使用双引号将包含空格的路径括起来。
  • 确保路径完全正确,一个字符都不能错。

方法三:临时忽略 SSL 验证(⚠️ 不推荐,最后的手段)

这是一个不安全的方法,因为它会使你的连接容易受到中间人攻击。除非你完全信任你的网络环境,并且只是临时需要完成某项工作,否则不要这样做。

该方法会告诉 Git 跳过对服务器证书的验证。

# 临时为当前命令禁用SSL验证
git -c http.sslVerify=false clone https://github.com/username/repo.git

# 或者,为当前仓库禁用(进入仓库目录后执行)
git config http.sslVerify false

# 【慎用】全局禁用SSL验证(非常不安全!)
git config --global http.sslVerify false

强烈建议在完成紧急操作后,立即撤销此设置:

git config --global --unset http.sslVerify

方法四:重新安装 Git

如果以上所有方法都失败了,可能是你的 Git 安装本身不完整或已损坏。最彻底的方法就是:

  1. 卸载当前版本的 Git。
  2. 从 Git 官方网站 (https://git-scm.com/) 下载最新版本的安装程序。
  3. 重新安装。在安装过程中,所有默认选项通常就是最佳选择。

总结与操作流程

  1. 首先尝试方法一git config --global --unset http.sslCAInfo。这是最干净利落的解决方案,90% 的情况能搞定。
  2. 如果不行,尝试方法二:仔细找到正确的 ca-bundle.crt 文件路径并重新配置。
  3. 如果只是临时的紧急需求,可以考虑方法三,但务必记得事后恢复。
  4. 如果问题非常顽固,方法四(重装) 总能解决问题。

根据你的描述,方法一大概率能直接解决你的问题。请先尝试它。

文章推荐

【代码管理】使用github在线源代码管理工具时,遇到443提示服务器无法连接到

【Git】查看凭据管理器的账号信息,并删除账号,解决首次认证登录失败后无法重新登录的问题

总结:温故而知新,不同阶段重温知识点,会有不一样的认识和理解,博主将巩固一遍知识点,并以实践方式和大家分享,若能有所帮助和收获,这将是博主最大的创作动力和荣幸。也期待认识更多优秀新老博主。

转载自CSDN-专业IT技术社区

原文链接:https://blog.csdn.net/lmy_520/article/details/151374367

评论

赞0

评论列表

微信小程序
QQ小程序

关于作者

点赞数:0
关注数:0
粉丝:0
文章:0
关注标签:0
加入于:--