You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

私有GitLab启用HTTPS客户端认证时Git LFS推送失败如何解决

可用解决方案(均无需修改服务端、清理Git历史或使用VPN)

方案1:配置Git/Git LFS使用HTTPS客户端证书

Git和Git LFS原生支持HTTPS客户端证书认证,直接在本地配置即可:

  • 先将你浏览器中安装的客户端证书导出为PEM/PFX/P12格式,若证书设置了访问密码请提前留存
  • 进入项目目录执行以下命令(为项目级配置,不影响其他仓库使用):
# 替换为你的客户端证书实际存放路径
git config http.sslCert "~/local/path/your-client-cert.pem"
# 若证书有密码,添加以下配置,不配的话每次推送会手动提示输入密码
git config http.sslCertPassword "你的证书访问密码"
# 若你的GitLab使用自签名HTTPS证书,补充配置CA根证书路径避免信任报错
git config http.sslCAInfo "~/local/path/your-ca-root-cert.pem"
  • 若仍出现gnutls_handshake相关报错,可将Git的HTTP传输后端切换为openssl:
git config http.sslBackend "openssl"

配置完成后直接重试git push即可。

方案2:强制Git LFS走SSH传输,完全绕过HTTPS

Git LFS 2.4.0及以上版本原生支持SSH传输,GitLab服务端默认开启该能力,配置后LFS会和普通Git代码一样走SSH协议传输:

  • 进入项目目录执行以下命令:
# 强制该仓库对应gitlab远程的LFS走SSH协议
git config lfs.git@git.myserver.com:coolguy/my-software.access ssh
# 可选,直接指定LFS的SSH访问地址
git config lfs.url "ssh://git@git.myserver.com/coolguy/my-software.git/info/lfs"

配置完成后重试推送即可,全程不需要处理HTTPS客户端证书相关逻辑。

如果需要以上配置全局生效,在命令后添加--global参数即可。

内容的提问来源于stack exchange,提问作者user16978892

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 11:09:03