Elastic Beanstalk部署Nodejs出现Nginx 111连接上游被拒绝报错
Elastic Beanstalk Node.js部署Nginx报错解答
111: Connection refused报错原因
- 最常见核心原因:Node服务仅绑定了环回地址127.0.0.1。你当前的
app.listen(port)写法默认只会监听127.0.0.1,而Elastic Beanstalk的Nginx反向代理会通过实例的内网IP(即报错中upstream后的111.1.1.1地址)转发请求,自然无法连接到仅监听环回地址的服务。
修复方法:修改监听代码为如下即可:var port = process.env.PORT; // 第二个参数指定监听0.0.0.0,即所有网卡地址 app.listen(port, '0.0.0.0', ()=> { console.log("Port is", port); }) - 次要排查方向:
- 确认实例内部防火墙/安全组规则没有禁止内网IP对8080端口的访问
- 执行
netstat -tulpn | grep 8080确认端口没有被其他进程占用,且监听地址为0.0.0.0而非127.0.0.1
报错中host字段说明
该字段不需要你手动配置,它取自用户请求的Host请求头,值就是客户端访问时输入的IP/域名,和你的Elastic Beanstalk服务访问地址一致属于正常情况,无需额外调整。
内容的提问来源于stack exchange,提问作者yaros
相关产品推荐
相关产品推荐

