我这里有一个与在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/