You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gitlab-Runner执行报错:x509: certificate signed by unknown authority

解决GitLab Runner推送镜像时x509证书未知权威错误

这个错误的核心是Ubuntu系统和Docker服务未信任自建GitLab实例的SSL证书,按以下步骤处理:

1. 获取GitLab实例的SSL证书

  • 用openssl命令从GitLab服务器导出证书(替换gitlab.example.com为你的GitLab域名):
    openssl s_client -showcerts -connect gitlab.example.com:443 </dev/null 2>/dev/null | openssl x509 -outform PEM > /tmp/gitlab.crt
    
  • 也可以直接从浏览器导出GitLab网站的SSL证书,再上传到Runner服务器的/tmp目录。

2. 让Ubuntu系统信任该证书

  • 将证书复制到系统证书存储目录:
    sudo cp /tmp/gitlab.crt /usr/local/share/ca-certificates/gitlab.crt
    
  • 更新系统证书缓存:
    sudo update-ca-certificates
    

3. 配置Docker信任该证书

推送镜像依赖Docker,需单独配置Docker信任证书:

  • 创建对应GitLab容器仓库域名的证书目录(替换registry.gitlab.example.com为你的镜像仓库地址):
    sudo mkdir -p /etc/docker/certs.d/registry.gitlab.example.com
    
  • 复制证书到该目录:
    sudo cp /tmp/gitlab.crt /etc/docker/certs.d/registry.gitlab.example.com/ca.crt
    
  • 重启Docker服务使配置生效:
    sudo systemctl restart docker
    

4. 重启GitLab Runner服务

确保Runner加载新的信任证书:

sudo systemctl restart gitlab-runner

额外检查

打开GitLab Runner的config.toml文件,在[[runners]]段落下添加证书路径配置(可选,但能确保Runner自身直接信任证书):

tls-ca-file = "/usr/local/share/ca-certificates/gitlab.crt"

内容的提问来源于stack exchange,提问作者Yassen Fouad Anis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 14:36:20