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

向DigitalOcean Spaces传文件时出现Seahorse::Client::NetworkingError求助

ActiveStorage 连接 DigitalOcean Spaces 时 SSL 证书验证失败问题

我按照《How To Use ActiveStorage in Rails 6 with DigitalOcean Spaces》教程配置完 DigitalOcean Space 后,上传图片时出现以下错误:

Seahorse::Client::NetworkingError (SSL_connect returned=1 errno=0 state=error: certificate verify failed (unspecified certificate verification error))

环境信息

  • 系统:搭载 M1 芯片的 macOS 13.0
  • Ruby 版本:2.7.1
  • Ruby 编译选项:RUBY_CONFIGURE_OPTS="--with-openssl-dir=$(brew --prefix openssl@1.1)"

解决方法

1. 手动指定 SSL 证书路径

M1 Mac 上 Ruby 可能无法自动识别 OpenSSL 证书位置,可通过环境变量指定:

  • 在项目根目录新建/编辑 .env 文件,添加:
    SSL_CERT_FILE=$(brew --prefix openssl@1.1)/etc/ssl/cert.pem
    
  • 或者启动服务器时临时传入:
    SSL_CERT_FILE=$(brew --prefix openssl@1.1)/etc/ssl/cert.pem rails s
    

2. 重新编译安装 Ruby

如果证书路径指定无效,重新安装 Ruby 确保与 OpenSSL@1.1 正确关联(以 rbenv 为例):

# 卸载现有 Ruby 2.7.1
rbenv uninstall 2.7.1
# 指定 OpenSSL 路径重新安装
RUBY_CONFIGURE_OPTS="--with-openssl-dir=$(brew --prefix openssl@1.1)" rbenv install 2.7.1

3. 导入 OpenSSL 证书到系统钥匙串

将 OpenSSL@1.1 的证书添加到系统信任列表:

sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain $(brew --prefix openssl@1.1)/etc/ssl/cert.pem

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 10:04:56