【问题标题】:How to store database credentials for an open-source Heroku Node.js app?如何存储开源 Heroku Node.js 应用程序的数据库凭据?
【发布时间】:2011-12-05 07:27:02
【问题描述】:

我正在构建一个 Node.js 应用程序,并且需要以这样一种方式存储数据库凭据(和其他运行时属性),以便在部署到 Heroku 时可以读取它们。我的源代码在公共 GitHub 存储库中可用。

我目前正在使用环境变量,使用heroku config:add 进行配置,但我希望了解是否有任何替代方案。我可能想使用Cloud9 IDE,但它目前不支持环境变量。

另一种选择是将参数存储在配置中。文件,但我相信该文件需要签入 Git(因此,公开可用)才能推送到 Heroku。

感谢您的帮助。

【问题讨论】:

    标签: node.js heroku github environment-variables cloud9-ide


    【解决方案1】:

    ENV 变量通常被认为是要走的路,Heroku 自己为 database_urls 等做的方式。

    由于您和您的应用是唯一可以访问 env vars 的人,因此您通常在安全方面还可以。

    将凭据放入 Git 或类似文件中是个坏主意,因为这是另一个需要保护的地方。

    【讨论】:

    • 这是有道理的。我只是想了解可用的替代方案,因为我无法在 Cloud9 IDE 中设置环境变量。
    • 我不清楚代码编辑器的选择与这个问题有什么关系?
    • 我知道环境变量是实现我的目标的一种方式(似乎是最好的)。由于无法使用环境变量和 Cloud9 IDE,我正在寻找其他解决方案。
    【解决方案2】:

    我知道使用命令行参数解决开发问题的一种方法。这些可以在您的运行/调试配置中指定。然后您可以访问 process.argv 中的参数。当然,这意味着它们将存储在您的 Cloud9IDE 开发环境中。然后,您可以在零售产品中使用 ENV 变量。这至少可以防止凭据在源文件或配置文件中可见。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-08
      • 1970-01-01
      • 2012-11-28
      • 1970-01-01
      • 2011-08-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多