GitLab Runner因GitLab证书更新出现SSL错误,无需重建如何解决?
解决GitLab Runner SSL证书链问题(无需禁用SSL/重建Runner)
方法一:为Runner指定GitLab.com最新证书链
抓取GitLab.com完整证书链
在Runner所在机器上执行以下命令,将证书链保存到文件:openssl s_client -showcerts -connect gitlab.com:443 < /dev/null | sed -n '/-----BEGIN CERTIFICATE-----/,/-----END CERTIFICATE-----/p' > /etc/gitlab-runner/gitlab_certs.pem(Windows环境可使用Git Bash执行该命令,或自行调整文件保存路径)
修改Runner配置文件
找到GitLab Runner的config.toml配置文件:- Linux/macOS:
/etc/gitlab-runner/config.toml - Windows:
C:\ProgramData\GitLabRunner\config\config.toml
在对应Runner的
[[runners]]区块中添加或更新tls-ca-file字段,指向刚才生成的证书文件:[[runners]] name = "你的Runner名称" url = "https://gitlab.com/" token = "你的Runner令牌" executor = "shell" # 替换为你的实际执行器类型 tls-ca-file = "/etc/gitlab-runner/gitlab_certs.pem" # Windows需改为类似"C:\ProgramData\GitLabRunner\gitlab_certs.pem"的路径- Linux/macOS:
重启GitLab Runner服务
- Linux/macOS:
sudo gitlab-runner restart - Windows(管理员权限命令提示符):
net stop gitlab-runner && net start gitlab-runner
- Linux/macOS:
方法二:更新系统根证书存储
如果Runner依赖系统默认的证书信任链,直接更新系统根证书即可:
- Debian/Ubuntu:
sudo apt update && sudo apt install --reinstall ca-certificates - RHEL/CentOS/Rocky Linux:
sudo update-ca-trust extract - Windows:
打开「控制面板→管理工具→证书」,导入GitLab.com的根证书并设置为「受信任的根证书颁发机构」;或开启系统自动更新获取最新根证书。 - macOS:
打开「钥匙串访问」,导入证书后右键选择「显示简介」,在「信任」选项卡设置为「始终信任」。
以上两种方法都无需禁用SSL检查或删除重建Runner,可有效解决证书更新导致的SSL验证失败问题。
内容的提问来源于stack exchange,提问作者Alex Smirnoff
相关产品推荐
相关产品推荐

