Gitlab:Peer的证书颁发者无法识别

qub*_*sup 6 gitlab gitlab-ci gitlab-omnibus

我在全新安装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
Run Code Online (Sandbox Code Playgroud)

有关如何解决它的任何建议?

Avi*_*ngh 14

通过以下命令导出GIT_CURL_VERBOSE = 1启用详细模式后遇到了同样的问题,发现了以下问题.

NSS错误-8179(SEC_ERROR_UNKNOWN_ISSUER)

发现以下网站很有帮助,但是当您对代理服务器进行完全控制以及输入证书时,这很好.

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

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

git config --global http.sslVerify "false"
Run Code Online (Sandbox Code Playgroud)

  • 我不打算禁用ssl. (4认同)

Mir*_*cek 6

您需要配置/etc/gitlab/gitlab.rb. 改变这一行

nginx['ssl_certificate'] = "/etc/gitlab/<your-local-path>/cert.pem"
Run Code Online (Sandbox Code Playgroud)

nginx['ssl_certificate'] = "/etc/gitlab/<your-local-path>/fullchain.pem"
Run Code Online (Sandbox Code Playgroud)

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

然后重新启动gitlab,你就完成了:

$ gitlab-ctl reconfigure
Run Code Online (Sandbox Code Playgroud)

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