节点无法读取 AWS Beanstalk 中的环境变量

Posted

技术标签:

【中文标题】节点无法读取 AWS Beanstalk 中的环境变量【英文标题】:Node not able to read environment variables in AWS Beanstalk 【发布时间】:2017-01-02 09:45:08 【问题描述】:

很遗憾,我无法详细说明,但我会尽量做到详尽。我的公司正在使用 AWS Beanstalk 部署我们的一项节点服务。我们通过 AWS 配置仪表板有一个环境属性,在这种情况下,键 ENV_NAME 指向我们的域之一的值。

根据documentation 和另一个resource,我发现一旦您插入变量,您应该能够通过process.env.ENV_NAME 访问它。然而,什么都没有出来。名称是正确的,甚至 process.env 正在注销一个空对象。

文档看起来很简单,其他指南也是如此。是否有人知道在仪表板中设置键值对与应用程序在浏览器中运行后控制台注销值之间的任何额外步骤?

【问题讨论】:

EB 中正在运行什么?节点应用程序是否在 docker 映像中运行? 节点应用程序正在运行。编辑:对不起,我们只是上传一个压缩的节点应用程序。 我要问的是,您是在部署一个包含节点应用程序的 docker 映像吗?还是您在 EB 中使用 linux 发行版来托管节点应用程序?节点应用在什么平台上运行? 它在标准的 Amazon linux 发行版上运行。 您是否使用 CLI 部署您的应用程序?如果是这样,您是否在部署脚本中包含一个指定/覆盖环境变量的部分?只是在这里抛出想法。 【参考方案1】:

原来我是个白痴。我们在发送给客户端的 javascript 中引用环境变量。因此,直到它关闭服务器之后,我们才开始寻找 env 变量。我们添加了一条新路由来获取此响应。

【讨论】:

如果每次我的一个问题的答案是“我是个白痴”时,我都能得到一分钱,我就不需要再工作了-_-

以上是关于节点无法读取 AWS Beanstalk 中的环境变量的主要内容,如果未能解决你的问题,请参考以下文章

无法在 AWS 中使用 RDS 创建弹性 Beanstalk 环境

AWS Elastic Beanstalk Python Django S3 Access Denied 无法上传/读取文件

无法在 AWS Elastic Beanstalk 中创建环境?

运行多容器 Docker 的 AWS BeanStalk 环境无法启动健康:严重

无法访问此站点以获取 AWS Elastic Beanstalk 环境 URL

无法在命令行或管理仪表板中创建 AWS Elastic Beanstalk 环境