gpt4 book ai didi

GitLab 正在运行 - 无法信任自签名证书

转载 作者:太空宇宙 更新时间:2023-11-03 13:31:11 26 4
gpt4 key购买 nike

运行 GitLab CI Runner 时我必须指定

environment = ["GIT_SSL_NO_VERIFY=true"]"

没有它我从 GitLab CI 得到以下错误

Cloning into 'D:/GitRunner/builds/c2RN8y5j/0/joeybob/mytestproect'...
fatal: unable to access 'https://gitlab-ci-token:xxxxxxxxxxxxxxxxxxxx@myserver.local/joeybob/mytestproect.git/': error setting certificate verify locations:
CAfile: D:\GitRunner\builds\c2RN8y5j\0\joeybob\mytestproect.tmp\CI_SERVER_TLS_CA_FILE
CApath: none

检查 CI_SERVER_TLS_CA_FILE 的内容,我可以看到它与 BEGIN CERTIFICATE 和 END CERTIFICATE 之间的预期值相匹配。

当我包含 GIT_SSL_NO_VERIFY=true 时,CI 窗口产生以下错误但仍然成功

WARNING: Failed to load system CertPool: crypto/x509: system root pool is not available on Windows 
ERROR: Failed to parse PEM in D:\GitRunner\builds\c2RN8y5j\0\joeybob\mytestproect.tmp\CI_SERVER_TLS_CA_FILE

我假设 PEM (crt) 文件有问题。我在 Windows Server 2016 上运行它,并以 base-64 编码的 X.509 格式从本地受信任的根证书存储中导出证书。这个问题可能与 Windows 编码文件的方式有关吗?

最佳答案

Joey,这可能为时已晚,对你不再有用,但也许它对你也有帮助。我遇到了完全相同的问题并通过以下方式解决了它:

这是我假设您已经完成的:

  1. 使用参数 gitlab-runner register --tls-ca-file=/path 注册运行器并将证书传递给它(证书必须为 .pem 格式)
  2. 设置 environment = ["GIT_SSL_NO_VERIFY=true"]"
  3. 在 Windows 中将证书导入为受信任的根证书。

现在来了踢球者:

<强>3。将证书内容多次复制到.pem文件中

我的意思是,您只需打开 .pem 文件,复制内容并将其多次粘贴到同一个文件中。保存它并让管道再次运行。您应该不会再看到任何错误。

问题是内容有问题。问题是 UTF-8 是 BOMed,因为内容从字节转换为字符串。

在文件中多次添加证书应该可以消除 Runner 中的错误。这比解决方案更像是一种解决方法,但很快就完成了,至少……。

更多相关信息:https://gitlab.com/gitlab-org/gitlab-runner/issues/4814

和:https://gitlab.com/gitlab-org/gitlab-runner/issues/2173#note_24022134

希望对您有所帮助!

关于GitLab 正在运行 - 无法信任自签名证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54621178/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com