Gitlab无法推拉代码 报CAfile: None CRLfile: None错误
GitLab服务端证书验证失败故障修复方案
触发的典型报错如下:fatal: unable to access 'https://gitlab.(company).ch/(user)/(repo).git/': server certificate verification failed. CAfile: none CRLfile: none
故障特征梳理
- 仅当前使用的所有服务端远程机器实例报错,本地设备运行正常
- 其他同事未遇到同类问题,可排除GitLab服务端证书本身故障
排查步骤
1. 检查系统时间配置
系统时间大幅偏离实际时间会导致证书有效性校验失败,是此类无预兆突发故障的高频诱因:
执行命令查看当前系统时间:date
若时间偏差超过1小时,执行对应命令同步网络时间:
- Debian/Ubuntu 系操作系统:
sudo timedatectl set-ntp true - CentOS/RHEL 系操作系统:
sudo systemctl start chronyd && sudo systemctl enable chronyd
2. 检查Git证书配置
执行命令查看Git全局配置的信任CA证书路径:git config --system http.sslCAInfo
若返回为空,说明Git未配置全局信任的根证书文件路径,导致无法校验服务端证书合法性。
修复方案
方案一(推荐:安全无风险)
从可正常访问GitLab的设备导出GitLab站点的SSL证书,上传到远程实例的/etc/ssl/certs/目录下,执行以下命令配置Git信任该证书:git config --system http.sslCAInfo /etc/ssl/certs/[你的GitLab证书文件名].crt
方案二(临时使用:有安全风险)
仅建议测试场景临时使用,会跳过对应GitLab站点的证书校验:git config --global http."https://gitlab.(company).ch/".sslVerify false
内容的提问来源于stack exchange,提问作者hamza keurti
相关产品推荐
相关产品推荐

