使用dotenv的安全nodejs生产环境

时间:2017-06-03 09:28:15

标签: node.js hashicorp-vault laravel-dotenv

通过使用dotenv我可以在将其推送到git存储库之前忽略开发.env文件,它符合The Twelve-Factor App config factor。它可以防止配置暴露给其他人,特别是开源项目。

但是,在使用云部署或使用docker将其部署到生产环境时,我感到困惑。

如何包含此文件?我应该将文件保存到Vault还是其他什么?

请帮助我了解如何保护我的部署环境。

2 个答案:

答案 0 :(得分:2)

你不是。服务器环境(docker或其他)需要配置自己的环境变量,而不是开发环境变量。任何在您配置为应用程序的默认值时都是相同的,即使变量未设置,它们也具有该值。

答案 1 :(得分:0)

您可以使用文件传输协议(如filezilla或cyberduck)将文件传输到生产服务器环境。确保发送到服务器的.env文件包含生产数据库的凭据,而不包含开发数据库的凭据等。您也可以将环境变量添加到远程服务器的.env或.bashrc文件中,但与.env文件相比,这可能是不可取的。只要没有人可以访问远程服务器(docker,heroku,aws等),您的凭据就应该是安全的。永远不要分享您的.pem文件。