Gitlab:Peer 的证书颁发者未被识别

Gitlab:Peer's Certificate issuer is not recognized

我在全新安装 gitlab 时遇到此错误。该消息如下所示:

fatal: unable to access 'https://gitlab-ci-
token:xxxxxxxxxxxxxxxxxxxx@gitlab.example.com/something.git/': Peer's 
Certificate issuer is not recognized.ERROR: Job 
failed: exit status 1

关于如何修复它有什么建议吗?

通过以下命令启用详细模式后遇到了同样的问题 export GIT_CURL_VERBOSE=1 并发现以下问题:

NSS 错误-8179 (SEC_ERROR_UNKNOWN_ISSUER)

发现以下站点很有帮助,但是当您完全控制 代理服务器以及输入证书。

http://dropbit.com/?p=168

我改为 运行 下面的命令绕过 porxy 服务器的 ssl 验证并且它有效

git config --global http.sslVerify "false"

您需要配置 /etc/gitlab/gitlab.rb。 更改此行

nginx['ssl_certificate'] = "/etc/gitlab/<your-local-path>/cert.pem"

nginx['ssl_certificate'] = "/etc/gitlab/<your-local-path>/fullchain.pem"

(假设您已经启用了 nginx 并且您已经正确颁发证书,例如来自 LetsEncrypt。)

然后重启gitlab就大功告成了:

$ gitlab-ctl reconfigure

为什么 - cert.pem 不包含完整的证书链,因此无法验证 ca 链。替换为 fullchain.pem 即可解决。