如何为一个开源的Heroku Node.js应用存储数据库凭据



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

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

另一个选项是将参数存储在配置中。但是我相信这个文件需要被检入到Git(这样的话,是公开可用的),以便被推送到Heroku。

谢谢你的帮助。

ENV变量通常被认为是一种方法,Heroku自己也这样做database_urls之类的。

由于你和你的应用程序是唯一可以访问环境的人,所以你通常是安全的。

将凭证放在Git或类似的地方是一个坏主意,因为它是另一个需要安全的地方。

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

最新更新