【问题标题】:How to save sensitive data on heroku?如何在heroku上保存敏感数据?
【发布时间】:2021-07-05 09:38:03
【问题描述】:

我已将我的 GitHub 链接到 Heroku 项目,并且我想使用 nodemailer。在某些时候我想让这个存储库公开,所以显然我不想提交包含敏感信息(电子邮件和通行证)的文件。有没有办法存储这些数据并将其包含在任何 .js 文件中而不出现在我的 GitHub 中?

【问题讨论】:

  • 环境变量是你的朋友

标签: node.js github heroku nodemailer


【解决方案1】:

在每个应用程序中,您都将配置设置“外部化”,尤其是敏感属性(密码、令牌等)。

在 Heroku 中,建议的方法是使用 ConfigVars:为每个设置定义一个环境变量,不要在代码中硬编码/提交这些变量。

您可以使用 Heroku CLI(参见下面的示例)或直接在 Heroku Web 仪表板中设置 ConfigVar。

heroku config:set PASSWORD="xyz"

【讨论】:

    【解决方案2】:

    您可以在 Heroku 网站上以及通过 CLI 设置所有环境变量。当您在 Heroku 上的项目中时,只需单击 Settings>Reveal Config Vars。在此处输入您的 .env 键/值。 (我假设你在谈论你的 .env 变量)。这是他们的文档:https://devcenter.heroku.com/articles/config-vars
    如果您不熟悉存储环境变量以使变量保密,这就是在本地完成的方式。你会在你的 .gitignore 中包含 .env 文件,或者在你工作的任何环境中包含它,因此当你将它上传到 Heroku 或任何其他托管站点时它不会被包含在内。这是一个非常重要的步骤,所以如果你不熟悉,这里有一个 repo:https://github.com/motdotla/dotenv#readme
    Dotenv(.env) 不是包罗万象的,但它是我通常使用的。

    【讨论】:

      猜你喜欢
      • 2016-12-26
      • 1970-01-01
      • 2017-07-25
      • 2011-01-19
      • 2014-07-14
      • 2013-08-01
      • 1970-01-01
      • 2021-11-14
      • 2015-09-11
      相关资源
      最近更新 更多