我正在构建一个在本地利用环境变量的 Web 应用程序,我想将其投入生产(在线)。我正在尝试了解如何在 AWS 上设置环境变量。
这是一个 Node.js 应用程序,我在 AWS 上使用 Elastic beanstalk 进行部署。我已经看过了https://docs.aws.amazon.com/cloud9/latest/user-guide/env-vars.html#env-vars-env-list https://docs.aws.amazon.com/cloud9/latest/user-guide/env-vars.html#env-vars-env-list,但我不确定哪个选项适合我。
我本地的 .env 文件包含类似以下的行
密码=我的密码
我正在使用 dotenv 包,其中包含 require('dotenv').config();在适当的文件中。我通过 process.env.PASSWORD 等方式访问代码中的环境变量(使用前面提到的 .env 文件中的一行示例)。
我尝试搜索几个地方,并看到了各种选项,但我不确定哪一个适用于我的环境变量。
您访问的链接可能会对您管理的 ec2 机器有所帮助,但如果您正在使用 Elasticbeanstalk,我建议您使用elasticbeanstalk提供的环境变量配置 https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environments-cfg-softwaresettings.html.
我并不赞成.env
对于 Elasticbeanstalk、ECS 和许多其他服务,AWS 提供简单且开箱即用的功能来在配置中设置环境变量,.env
将环境写入文件,该文件的安全性不如系统环境变量。
Elasticbeanstalk ENV 有趣的部分是,系统环境变量具有更高的外围.env
环境变量,但最好不要将 dotenv 放在 elasticbeanstalk 上。
环境属性和其他软件设置
您可以使用环境属性来传递机密、端点、调试
设置以及您的应用程序的其他信息。环境
属性可帮助您在多个环境中运行应用程序
不同的目的,例如开发、测试、登台和
生产。
弹性beanstalk-部署节点js https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_nodejs.container.html
Example .ebextensions/options.config
option_settings:
aws:elasticbeanstalk:application:environment:
API_ENDPOINT: www.example.com/api
现在你需要的一切
var endpoint = process.env.API_ENDPOINT
环境属性
环境属性部分允许您指定环境
正在运行的 Amazon EC2 实例上的配置设置
你的申请。这些设置作为键值对传递到
应用程序。
在 AWS Elastic Beanstalk 中运行的 Node.js 环境中,您
可以使用访问环境变量process.env.ENV_VARIABLE
类似于以下示例。
var endpoint = process.env.API_ENDPOINT
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)