3

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

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

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

谢谢你的帮助。

4

2 回答 2

5

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

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

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

于 2011-10-12T15:34:11.130 回答
0

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

于 2011-11-03T00:42:03.653 回答