11

这个问题可能有一个我没有想到的明显答案。我知道像安全凭证这样的敏感数据最好通过 Heroku 的 CLI 和heroku config:add. 但是敏感文件,比如证书呢?具体来说,我想知道我应该如何处理我的Apple 推送通知(APN) 证书。

我正在尝试自己实现这一点,因为对这个问题的沉默让我相信那里没有很多很好的选择(而且Urban Airship看起来太贵了)。通过查看APN on Rails,我发现它们实际上将证书存储在数据库中。那有意义吗?或者将证书的内容实际存储在环境变量中是否有意义(不确定这是否可能)?

4

4 回答 4

7

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

请参阅此答案: Heroku 中的多行配置变量

于 2014-02-20T10:43:15.840 回答
3

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

如果您真的有这种感觉,您可以考虑创建自己的buildpack,它会在 slug 编译时下载证书并使其在 slug 文件系统上可用。

于 2012-07-08T01:56:03.777 回答
0

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

于 2017-08-22T07:11:46.640 回答
-1

我建议创建一个包含证书的单独存储库,只有您的内部开发人员可以访问该存储库。

要在本地执行此操作:

git clone myproject myprojectwithcerts

cd myprojectwithcerts

git 添加 heroku 用户名@herokuapp.com/myproject

然后你可以将你的证书添加到“myprojectwithcerts”中,提交它们,然后推送到 Heroku。

git push heroku 大师

当 myproject 发生变化时

git pull 起源大师

只要只有您的开发人员核心圈子可以访问 Heroku 进行推/拉,只有他们可以访问您的敏感文件。

于 2015-04-18T23:57:28.130 回答