AWS 环境变量

AWS environment variable

我用的是GUI,对AWS CLI不熟悉,也没用过。我是程序开发的新手,这是我第一次部署到 AWS。

有很多使用 CLI 的堆栈溢出解决方案,但我正在寻找的是 GUI 解决方案。

问题:

程序需要用到环境变量,EB也设置了环境变量,但还是不能正常运行。 (环境变量设置成功,没有跳转报错)

卡了2天了,google了看文档,还是解决不了问题

我使用的AWS服务:

codePipeline & deploy success

一切看起来都很好,但网站只有 502。

事件错误: 100.0 % of the requests are erroring with HTTP 4xx. Insufficient request rate (12.0 requests/min) to determine application health.

我查看了E2C日志,说jwt需要secret or key,实际值保存在process.env.TOKEN_SECRET.

----------------------------------------
/var/log/web.stdout.log
----------------------------------------
Sep 17 10:15:57 ip-172-31-14-49 web: throw new TypeError('JwtStrategy requires a secret or key');
Sep 17 10:15:57 ip-172-31-14-49 web: ^
Sep 17 10:15:57 ip-172-31-14-49 web: TypeError: JwtStrategy requires a secret or key

有时错误会变成

----------------------------------------
/var/log/nginx/error.log
----------------------------------------
2021/09/17 15:55:34 [error] 9567#9567: *5385 connect() failed (111: Connection refused) while connecting to upstream, client: 172.31.35.193, server: , request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:8080/", host: "172.31.14.49"

我的代码在 config/passport:

let jwtOptions = {} 
jwtOptions.jwtFromRequest = ExtractJwt.fromAuthHeaderAsBearerToken()
jwtOptions.secretOrKey = process.env.TOKEN_SECRET

我的EB&E2C环境变量设置:

EB config variables E2C config variables

而且我查看事件说环境变量设置成功,没有报错

如你所见,我已经设置了环境变量,系统也说我成功了,但实际操作起来不太一样。执行程序时,仍然没有成功读取环境变量。

*中文图片不好意思,我已经换成英文了,还是不行。可能是我的国家设置

因为我同时给环境变量和环境标签设置了key,所以出错了

当我删除环境标签时,它工作正常。