首页 >后端开发 >Golang >如何解决 GitLab-CI 运行器证书验证问题?

如何解决 GitLab-CI 运行器证书验证问题?

Patricia Arquette
Patricia Arquette原创
2024-12-08 03:20:12930浏览

How to Resolve GitLab-CI Runner Certificate Validation Issues?

克服 Gitlab-CI 运行器的证书验证问题

尝试使用命令 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 服务器,他们可以按照下面概述的步骤获取必要的证书并注册运行器成功:

  1. 检索 PEM 格式的证书:

    openssl s_client -connect ${SERVER}:${PORT} -showcerts </dev/null 2></dev/null | sed -e '/-----BEGIN/,/-----END/!d'
  2. 将证书保存到文件:

    sudo tee "$CERTIFICATE" >/dev/null
  3. 使用 --tls-ca-file 注册运行器选项:

    gitlab-runner register --tls-ca-file="$CERTIFICATE" [other options]

对于管理员用户:

如果用户确实具有 Gitlab 服务器的管理访问权限,他们可以解决问题通过使用 IP 主题备用名称 (SAN) 配置 SSL 证书,允许运行者验证服务器的身份。

以上是如何解决 GitLab-CI 运行器证书验证问题?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn