安全使用dotenv的nodejs生产环境

通过使用dotenv,我可以忽略开发.env文件,然后将其推送到git存储库,它符合十二因子应用程序configuration因素 。 它防止configuration暴露给其他人,尤其是开源项目。

但是,在将其部署到生产环境时,我使用云部署或使用docker时会受到阻碍。

我怎样才能包含这个文件? 我应该将文件保存到Vault中吗?

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

你没有。 服务器环境(docker或其他)需要configuration自己的环境variables,而不是开发环境variables。 任何在你configuration为应用程序的默认值时都是一样的,即使variables没有被设置,它们也有这个值。

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

Interesting Posts