ruby - 在 Heroku 上存储私有(private)文件

标签 ruby ruby-on-rails-4 heroku amazon-s3 apple-push-notifications

我这里有一个与在heroku上存储私有(private)文件相关的场景。

我需要在heroku应用程序(使用Cedar堆栈)中存储私有(private)文件(用于向IOS设备发送推送通知的证书和 key ),我可以通过git将这些文件推送到heroku服务器,但存储在git上并不安全,因为这些是私有(private)的。因此,我想将这些文件安全复制(SCP)到heroku服务器,但heroku不允许传入连接,并且将这些文件存储在S3存储桶上并不是一个很好的解决方案,因为从S3存储桶获取文件需要一些时间,这会增加延迟在循环中发送每个推送通知。

我有点找不到针对这种情况的正确解决方案。 gem https://github.com/NicosKaralis/pushmeup接受私有(private)文件作为文件对象或字符串(指出服务器上文件的路径)。 Heroku 允许设置可在环境中使用但不能在文件中使用的配置变量(仅限字符串)。

有人可以在这种情况下建议我一些解决方法吗,谢谢。

最佳答案

您无法使用 Heroku 中的文件系统,因此您需要不同的存储系统。

您可以使用云系统存储(例如 Amazon S3),并对连接和传输的数据进行加密,以确保信息的私密性。使用基于内存的缓存系统(例如 memcached)可以最大限度地减少延迟。

另一种方法是将数据作为二进制信息存储在数据库中。您可以使用相同的应用程序数据库,也可以使用专门为此设计的数据库。

关于ruby - 在 Heroku 上存储私有(private)文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35032321/

相关文章:

ruby-on-rails-3 - Heroku Cedar : How to scale WEB dynos based on time of day

html - 根据条件动态填充 div

ruby - 在 linux 服务器上不使用 rvm 从 Ruby 1.9.2p290 升级到 1.9.3p2

ruby-on-rails - 密码更改后通过 Devise 自动登录

python - Heroku GeoDjango 缺少 GDAL(可能还有 GEOS)的问题

python - 使用 snscrape 获取 'unable to find guest token' 错误

ruby - 无法掌握 Ruby 中的符号

ruby-on-rails - Apache-Passenger 无法启动我的生产 Rails 应用程序

ruby-on-rails - RSpec Controller 测试错误: controller does not implement method

ruby-on-rails - Rails 嵌套表单不更新嵌套模型