Heroku 主动存储 S3 Seahorse::Client::NetworkingError (Net::OpenTimeout)

Posted

技术标签:

【中文标题】Heroku 主动存储 S3 Seahorse::Client::NetworkingError (Net::OpenTimeout)【英文标题】:Heroku active storage S3 Seahorse::Client::NetworkingError (Net::OpenTimeout) 【发布时间】:2022-01-14 00:08:22 【问题描述】:

我遇到了一个非常奇怪的问题。我们正在使用以下组合

    Rails 7.0.0 主分支 Heroku 活动存储 Bucketeer 插件 暂存应用程序 生产应用

我有两个环境暂存和生产。在暂存时一切正常,在生产中我不断遇到:Seahorse::Client::NetworkingError (Net::OpenTimeout)。不幸的是,heroku 支持没有帮助(值得一试),所以我在这里问。

如果我从 Rails 控制台直接使用 s3,一切正常。我可以从我的存储桶上传和下载对象,因此我知道环境变量是有效的。

另一方面,如果我尝试使用活动存储上传用户头像,则会收到以下错误消息:Seahorse::Client::NetworkingError (Net::OpenTimeout),对我来说,这表明连接到 S3 完全失败。

我已经为活动存储的storage.yml 和全球亚马逊配置尝试了不同的超时,没有不同的结果。错误似乎比超时返回更快(打开超时 15 秒应该等待 15 秒但它不会)。

非常感谢任何指向正确方向的指针。

【问题讨论】:

【参考方案1】:

删除config/credentials/production.yml后一切正常。

【讨论】:

以上是关于Heroku 主动存储 S3 Seahorse::Client::NetworkingError (Net::OpenTimeout)的主要内容,如果未能解决你的问题,请参考以下文章

在 Heroku 应用下挂载 S3 文件夹

读取和写入存储在 aws s3 (Heroku + Django) 中的数据库文件

从 heroku 访问 s3 内容时,AWS 访问密钥显示在浏览器 url 中

在 Heroku 上使用 Django 将大文件上传到 AWS S3 存储桶而没有 30 秒的请求超时

Heroku 上的 Amazon S3 和 PHP

Rails 6主动存储sidekiq文件在S3上上传背景图片