AWS弹性Beanstalk / nginx:connect()失败(111:连接被拒绝

Posted

技术标签:

【中文标题】AWS弹性Beanstalk / nginx:connect()失败(111:连接被拒绝【英文标题】:AWS elastic Beanstalk / nginx : connect() failed (111: Connection refused 【发布时间】:2019-03-25 13:03:09 【问题描述】:

我收到了这条消息

connect() failed (111: Connection refused

这是我的日志:

-------------------------------------
/var/log/nginx/error.log
-------------------------------------
2018/10/21 06:16:33 [error] 4282#0: *2 connect() failed (111: Connection refused) while connecting to upstream, client: 172.31.4.119, server: , request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:8081/", host: "hackingdeal-env.qnyexn72ga.ap-northeast-2.elasticbeanstalk.com"
2018/10/21 06:16:33 [error] 4282#0: *2 connect() failed (111: Connection refused) while connecting to upstream, client: 172.31.4.119, server: , request: "GET /favicon.ico HTTP/1.1", upstream: "http://127.0.0.1:8081/favicon.ico", host: "hackingdeal-env.qnyexn72ga.ap-northeast-2.elasticbeanstalk.com", referrer: "http://hackingdeal-env.qnyexn72ga.ap-northeast-2.elasticbeanstalk.com/"

我正在使用 nodejs/express Elastic Beanstalk 环境。

我有一个 nginx 相关文件

.ebextensions/nginx/conf.d/proxy.conf

上层文件包含:

client_max_body_size 50M;

每当我尝试获取我的网页时,我都会收到 502 bad gateway。

我的应用有什么问题?

【问题讨论】:

确保您的快速应用程序已启动并运行 【参考方案1】:

111 连接被拒绝可能意味着您的应用未在服务器/端口组合上运行。还要检查您的应用实例(或负载均衡器)的安全组是否设置了入站规则以允许来自 nginx 实例的流量

【讨论】:

如何允许来自 nginx 实例的流量?? 您应该为您的 nginx 实例和 beanstalk 负载均衡器设置一个安全组。在负载均衡器sg上,添加入站规则并选择nginx实例的安全组【参考方案2】:

只是在这里记录我的事件,以防它帮助某人或我未来的自己。我有一个将SECURE_SSL_REDIRECT 设置为True 的Django 应用程序。由于我没有配置负载平衡器来处理 HTTPS 流量,因此我遇到了超时。将其设置为 False 解决了这个问题。几天浪费在那个上。

【讨论】:

以上是关于AWS弹性Beanstalk / nginx:connect()失败(111:连接被拒绝的主要内容,如果未能解决你的问题,请参考以下文章

使用 AWS 弹性 beanstalk 负载均衡器在 Rails 上实施 https 连接

AWS Elastic Beanstalk - python 的 nginx 配置(AL2 上的 3.7)flask 应用程序

无法将数据库迁移到 AWS 弹性 Beanstalk

防止使用 AWS 账户下载弹性 beanstalk 应用程序?

如何使用 AWS CLI 更新弹性 beanstalk 代码?

AWS Cloudformation:如何在 AWS 弹性 beanstalk 配置中引用多个安全组