尝试使用命令 gitlab-ci-multi-runner register 注册 Gitlab-CI 运行器时,用户可能会遇到以下问题:遇到与证书验证相关的问题,如以下错误消息所示:
Post https://xxxx/ci/api/v1/runners/register.json: x509: cannot validate certificate for xxxx because it doesn't contain any IP SANs
此错误源于运行程序无法验证 Gitlab 服务器提供的证书。为了解决这个问题,根据具体情况,推荐两种方法:
对于非管理员用户:
如果用户没有管理权限Gitlab 服务器,他们可以按照下面概述的步骤获取必要的证书并注册运行器成功:
检索 PEM 格式的证书:
openssl s_client -connect ${SERVER}:${PORT} -showcerts </dev/null 2></dev/null | sed -e '/-----BEGIN/,/-----END/!d'
将证书保存到文件:
sudo tee "$CERTIFICATE" >/dev/null
使用 --tls-ca-file 注册运行器选项:
gitlab-runner register --tls-ca-file="$CERTIFICATE" [other options]
对于管理员用户:
如果用户确实具有 Gitlab 服务器的管理访问权限,他们可以解决问题通过使用 IP 主题备用名称 (SAN) 配置 SSL 证书,允许运行者验证服务器的身份。
以上是如何解决 GitLab-CI 运行器证书验证问题?的详细内容。更多信息请关注PHP中文网其他相关文章!