AWS 环境变量
AWS environment variable
我用的是GUI,对AWS CLI不熟悉,也没用过。我是程序开发的新手,这是我第一次部署到 AWS。
有很多使用 CLI 的堆栈溢出解决方案,但我正在寻找的是 GUI 解决方案。
问题:
程序需要用到环境变量,EB也设置了环境变量,但还是不能正常运行。 (环境变量设置成功,没有跳转报错)
卡了2天了,google了看文档,还是解决不了问题
我使用的AWS服务:
- codePipeline 到持续部署(github 版本 2)
- EB 成为我的应用程序(Node 10x 版本)
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,所以出错了
当我删除环境标签时,它工作正常。
我用的是GUI,对AWS CLI不熟悉,也没用过。我是程序开发的新手,这是我第一次部署到 AWS。
有很多使用 CLI 的堆栈溢出解决方案,但我正在寻找的是 GUI 解决方案。
问题:
程序需要用到环境变量,EB也设置了环境变量,但还是不能正常运行。 (环境变量设置成功,没有跳转报错)
卡了2天了,google了看文档,还是解决不了问题
我使用的AWS服务:
- codePipeline 到持续部署(github 版本 2)
- EB 成为我的应用程序(Node 10x 版本)
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,所以出错了
当我删除环境标签时,它工作正常。