git config --global http.sslBackend openssl git config --global http.sslVerify false 的作用
只要能连上服务、链路加密就行,不管证书是谁发的、合不合法。全局配置文件,后续所有 Git 仓库复用配置。连 Github/Gitee 外网必须打开。,自己一套证书逻辑,不受本机系统证书限制。OpenSSL 是 Git 自带独立库,作用:解决「握手连不上服务器」的报错。作用:解决「证书校验失败拒绝克隆」。,防止中间人劫持窃取代码和账号。Schannel = 绑定。
·
一、问题现象
# 切换SSL底层为OpenSSL
git config --global http.sslBackend openssl
# 关闭证书校验(内网专用)
git config --global http.sslVerify false
配置存储在用户目录.gitconfig全局配置文件,后续所有 Git 仓库复用配置。
第一句:git config --global http.sslBackend openssl
原来默认:Windows Git 用 Schannel(Windows 系统自带安全组件)
Schannel = 绑定电脑系统证书库,校验 SSL 时规则:
- 去你 Windows 系统自带的可信根证书列表查 GitLab 证书;
- 你们公司内网 GitLab 是内网自签证书,没装到电脑系统信任列表;
- Schannel 判定证书非法 → 直接断开 TCP 握手 → 报错 schannel: failed to receive handshake,连不上服务器。
改成 openssl:换一套独立证书引擎
OpenSSL 是 Git 自带独立库,不读取 Windows 系统证书,自己一套证书逻辑,不受本机系统证书限制。
作用:解决「握手连不上服务器」的报错。
第二句:git config --global http.sslVerify false
就算换成 OpenSSL,OpenSSL 自己也有可信证书库:
- 内网 Git 自签证书不在 OpenSSL 信任名单里;
- 默认
sslVerify=true:强制校验证书合法,证书不对就拒绝拉代码。
sslVerify=false = 取消证书真假检查 只要能连上服务、链路加密就行,不管证书是谁发的、合不合法。
作用:解决「证书校验失败拒绝克隆」。
组合逻辑串联
- 换 openssl → 不再依赖 Windows 系统证书,能成功和 GitLab 建立 SSL 连接(握手成功)
- 关掉证书校验 → 不校验内网烂证书,放行数据传输 两步做完 →
git clone正常下载代码。
举个生活化例子
- Schannel:去政府正规公证处核验证件,内网 GitLab 是公司自制证件,公证处不认,直接拒接见面(连不上)。
- openssl:换成私人核验员(OpenSSL),不用去公证处,能见面(握手成功)。
- sslVerify=false:告诉核验员不用查证件真假,直接办事(拉代码)。
关键提醒
只适合公司内网环境;连 Github/Gitee 外网必须打开sslVerify=true,防止中间人劫持窃取代码和账号。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)