【问题标题】:Where should I store sensitive files on Heroku?我应该在 Heroku 上的哪里存储敏感文件?
【发布时间】:2012-07-07 21:53:21
【问题描述】:

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

我正在尝试自己实现这一点,因为the silence in response to this question 让我相信那里没有很多很好的替代品(而且Urban Airship 看起来太贵了)。通过查看APN on Rails,我看到他们实际上将证书存储在数据库中。那有意义吗?或者将证书的内容实际存储在环境变量中是否有意义(不确定这是否可能)?

【问题讨论】:

  • 嘿,你最后做了什么?

标签: configuration heroku certificate environment-variables


【解决方案1】:

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

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

【讨论】:

  • 一旦获得足够的声望,请在以后使用重复标志。
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

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

      在本地这样做:

      git clone myproject myprojectwithcerts

      cd myprojectwithcerts

      git add heroku 用户名@herokuapp.com/myproject

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

      git push heroku 大师

      当我的项目发生变化时

      git pull origin master

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-05-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-07-30
        • 2023-03-25
        • 1970-01-01
        相关资源
        最近更新 更多