我这里有一个与在heroku上存储私人文件相关的场景。
我需要在heroku应用程序中存储私有文件(用于向IOS设备发送推送通知的证书和密钥)(使用Cedar堆栈),我可以通过git将这些文件推送到heroku服务器但是在git上存储并不安全是私人的。因此,我希望将这些文件的副本(SCP)保存到heroku服务器,但heroku不允许传入连接并将这些文件存储在S3存储桶上不是一个很好的解决方案,因为从S3存储桶获取文件需要一些时间,这会增加在循环中发送每个推送通知。
我找不到找到适合这种情况的解决方案。 gem https://github.com/NicosKaralis/pushmeup接受私有文件作为文件对象或字符串(指出服务器上文件的路径)。 Heroku允许设置可在环境中使用但不能在文件中使用的配置变量(仅字符串)。
有人可以在这个场景中建议我一些解决方法,谢谢。
答案 0 :(得分:3)
您无法在Heroku中使用文件系统,因此您需要一个不同的存储系统。
您可以使用Amazon S3等云系统存储,并加密连接和传输的数据,以确保信息保持私密。使用基于内存的缓存系统(例如memcached)可以最小化延迟。
另一种方法是将数据存储在数据库中,作为二进制信息。您可以使用相同的应用程序数据库,也可以使用专门为此设计的数据库。
答案 1 :(得分:0)
您应该考虑使用一些外部存储服务,因为您无法在Heroku上存储文件。