2012-07-07 65 views
10

这个问题可能有一个明显的答案,我只是没有想到。我知道像安全凭证这样的敏感数据最好通过Heroku的CLI与heroku config:add一起使用环境变量存储在像Heroku这样的服务上。但敏感文件,如证书?具体而言,我想知道我应该如何处理我的证书Apple Push Notifications(APN)。我应该在Heroku上存储敏感文件?

因为the silence in response to this question让我相信这里没有很多很棒的替代品(而且Urban Airship看起来太贵了),所以我在刺探自己的实施。从APN on Rails的雄踞我看到他们实际上存储在数据库中的证书。那有意义吗?或者是否真的将证书的内容存储在环境变量中(不确定这是否可能)?

+0

嘿你到底做了什么? – bogardon 2013-07-07 20:19:44

回答

3

您可能会考虑将S3中的证书存储在启动时每个进程可以下载并存储在内存中(或memcached/redis)以供后续访问。

如果你真的感觉到它,你可以考虑创建你自己的buildpack,它可以在slug编译时进行证书下载,并使它在slug文件系统上可用。

6

您可以在环境变量中设置整个证书。

看到这个答案: Multi-line config variables in Heroku

+1

一旦你获得了足够的声望,请在将来使用重复的旗帜。 – lpapp 2014-02-20 11:03:20

0

我建议创建一个包含证书单独的存储库,只有您的开发内圈访问。

为了使本地做:

混帐克隆的myproject myprojectwithcerts

CD myprojectwithcerts

混帐添加的Heroku [email protected]/myproject

然后您可以添加您证明“myprojectwithcerts”,提交它们,然后推送到Heroku。

混帐推Heroku的主

当变化发生的myproject

的git拉出身主

只要只有你的开发人员内部圈子可以访问的Heroku到推/拉,只有他们可以访问你的敏感文件。

0

对我来说,最好的解决方案是加密证书中的私钥并将解密密码存储在Herokus环境变量中。