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

Ruby on Rails项目bundle install SSL证书验证错误及证书添加问题求助

问题根因

你添加ISRG Root X1证书失败的核心原因是:Debian/Ubuntu系操作系统(DigitalOcean默认服务器镜像多为此系列)的update-ca-certificates工具仅会自动导入/usr/local/share/ca-certificates目录下后缀为.crt的证书文件,你下载的是.pem后缀文件,不会被工具扫描识别,因此证书没有实际导入系统根证书库。
你之前移除过期DST_Root_CA_X3证书的操作没有问题。

修复步骤

1. 修正证书导入操作

  • 重命名你下载的ISRG Root X1证书文件,修改后缀为.crt:
    mv ~/下载路径/isrgrootx1.pem ~/下载路径/isrgrootx1.crt
  • 将重命名后的证书文件移入系统证书目录:
    sudo cp ~/下载路径/isrgrootx1.crt /usr/local/share/ca-certificates/
  • 执行证书更新命令:
    sudo update-ca-certificates -f -v
  • 验证证书是否导入成功:
    grep "ISRG Root X1" /etc/ssl/certs/ca-certificates.crt
    有匹配输出即为导入成功。

2. Ruby环境适配(系统证书导入后仍报错时执行)

部分Ruby版本会使用自带的独立CA证书包,不读取系统根证书,需单独配置:

  • 先确认Ruby使用的默认证书路径:
    ruby -ropenssl -e 'p OpenSSL::X509::DEFAULT_CERT_FILE'
  • 可在capistrano部署脚本中添加环境变量,指定Ruby读取系统根证书:
    set :default_env, { ssl_cert_file: "/etc/ssl/certs/ca-certificates.crt" }

3. 临时验证方案

如需快速确认问题根因为证书校验失败,可临时修改Gemfile中的rails-assets源为http版本测试,测试完成后务必改回https:

source 'http://rails-assets.org' do
  # 原有rails-assets相关gem声明
end

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 00:18:02