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

从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所需的中间证书,可手动处理:

    1. 先测试SSL连接查看证书链:
      openssl s_client -connect api.heroku.com:443
      
    2. 从输出中找到缺失的中间证书,下载后放到系统证书目录(如/usr/local/share/ca-certificates/)
    3. 执行更新命令:
      update-ca-certificates
      

内容的提问来源于stack exchange,提问作者Antoine

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 18:30:55