从GitLab CI部署Docker镜像到Heroku时遇证书过期错误
解决Heroku容器发布时CERT_HAS_EXPIRED错误的方案
更新GitLab Runner环境的CA证书
GitLab CI运行环境的系统根证书可能过期或不完整,尤其是使用旧版本基础镜像的Runner。在CI脚本的部署步骤前添加证书更新命令:# Debian/Ubuntu系Runner apt-get update && apt-get install -y --reinstall ca-certificates # CentOS/RHEL系Runner yum update -y ca-certificates升级Heroku CLI版本
旧版Heroku CLI可能存在证书兼容性问题,在CI流程中先升级CLI再执行部署:# 用官方脚本安装最新版Heroku CLI curl https://cli-assets.heroku.com/install.sh | sh临时跳过证书验证(仅用于测试)
如果只是临时排查问题,可以设置环境变量跳过TLS证书检查(生产环境不推荐):export NODE_TLS_REJECT_UNAUTHORIZED=0 heroku container:release web --app your-app-name检查并补充缺失的中间证书
若Runner环境缺失Heroku API所需的中间证书,可手动处理:- 先测试SSL连接查看证书链:
openssl s_client -connect api.heroku.com:443 - 从输出中找到缺失的中间证书,下载后放到系统证书目录(如
/usr/local/share/ca-certificates/) - 执行更新命令:
update-ca-certificates
- 先测试SSL连接查看证书链:
内容的提问来源于stack exchange,提问作者Antoine
相关产品推荐
相关产品推荐

