Git LFS 给出 x509:由未知机构签名的证书

问题描述 投票:0回答:3

我刚刚按照 https://about.gitlab.com/install/#ubuntu 中的说明使用 Gitlab 设置了 Ubuntu 18.04 LTS 服务器。

我已从 GoDaddy 颁发了 ssl 证书,并确认这适用于 Gitlab 服务器。

我随后更新了 gitlab.rb:

gitlab_rails[‘lfs_enabled’] = true

我已经从 https://git-lfs.github.com/安装了 GIT LFS 客户端。

然后我尝试在网上寻找解决方案,了解为什么我无法让 LFS 工作。我总是得到

x509:由未知机构签署的证书

其他设置在gitlab.rb中完成:

gitlab_workhorse[‘env’] = {
‘SSL_CERT_DIR’ => ‘/opt/gitlab/embedded/ssl/certs/’
}
nginx[‘redirect_http_to_https’] = true

我不是 Linux/Unix/git 方面的专家 - 但使用 Unix/Linux 已经有 30 多年了,并且使用 git 也有很多年了 - 不仅仅是我自己之前用 LFS 设置了 git。

git docker containers x509 git-lfs
3个回答
20
投票

我在运行

git clone ...
将源代码从 BitBucket 中的私有 Git 存储库下载到 Docker 映像时遇到了同样的问题。我通过禁用 SSL 检查解决了这个问题,如下所示:

GIT_SSL_NO_VERIFY=1 git clone ...

请注意,环境参数和 git clone 命令之间没有

&&

您还可以使用

git config
:

设置该选项
git config http.sslverify false

对于我构建 Docker 映像的用例,设置环境变量更容易。


16
投票

问题是 Git LFS 查找证书的方式与 Git 的其他部分不同。

可能需要一些帮助才能找到正确的证书。

我和我的用户通过将 http.sslCAInfo 指向他们用于 gitlab 的用户私钥的位置解决了这个问题。

git config http.sslCAInfo ~/.ssh/id_ed25519
,其中 id_ed25519 是有问题的存储库的用户私钥,因此请适当更改。


0
投票

在 Ubuntu 上只需更新您的系统 CA 存储

# move your cert into /usr/local/share/ca-certificates
sudo curl -s 'my-pki.de/my-cert.pem' --output /usr/local/share/ca-certificates/my-cert.crt

# update store
sudo update-ca-certificates
© www.soinside.com 2019 - 2024. All rights reserved.