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

EON*_*CTO 30 git containers x509 docker git-lfs

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

\n\n

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

\n\n

然后我更新了 gitlab.rb:gitlab_rails[\xe2\x80\x98lfs_enabled\xe2\x80\x99] = true

\n\n

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

\n\n

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

\n\n
\n

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

\n
\n\n

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

\n\n
gitlab_workhorse[\xe2\x80\x98env\xe2\x80\x99] = {\n\xe2\x80\x98SSL_CERT_DIR\xe2\x80\x99 => \xe2\x80\x98/opt/gitlab/embedded/ssl/certs/\xe2\x80\x99\n}\nnginx[\xe2\x80\x98redirect_http_to_https\xe2\x80\x99] = true\n
Run Code Online (Sandbox Code Playgroud)\n\n

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

\n

isa*_*pir 29

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

GIT_SSL_NO_VERIFY=1 git clone ...
Run Code Online (Sandbox Code Playgroud)

&&请注意, Environment arg 和 git clone 命令之间没有任何内容。

您还可以使用以下命令设置该选项git config

git config http.sslverify false
Run Code Online (Sandbox Code Playgroud)

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

  • 这并不能解决问题。这将关闭 SSL。这可不是什么好事。SSL 的启用是有原因的。 (19认同)

FLW*_*LWE 19

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

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

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

git config http.sslCAInfo ~/.ssh/id_ed25519其中 id_ed25519 是有问题的存储库的用户私钥,因此请根据需要进行更改。

  • 这实际上是如何运作的?显然,SSH 身份与 CA 证书不同(无论是文件格式还是其他方面)。那么如何告诉“git”将该文件用于“http.sslCAInfo”可以修复任何问题呢?我最感兴趣的是从技术角度来看...... (5认同)
  • 这个就解决了这个问题。我只能说这很有趣 - 昨天添加,今天有帮助。看起来很有魅力! (2认同)