【问题标题】:connect() failed (111: Connection refused) while connecting to upstream. Java (SparkJava) amazon Elastic连接到上游时,connect() 失败(111:连接被拒绝)。 Java (SparkJava) 亚马逊弹性
【发布时间】:2016-08-28 23:53:43
【问题描述】:

尝试部署我的第一个应用程序(后端)。 但是我遇到了 502 Bad Gateway 类型的错误。

2016/05/03 14:46:14 [error] 2247#0: *19 connect() failed (111: Connection refused) while connecting to upstream, client: 172.31.43.183, server: , request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:5000/", host: "myHost.eu-west-1.elasticbeanstalk.com"
2016/05/03 14:50:23 [error] 2566#0: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 172.31.8.36, server: , request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:5000/", host: "myHost.eu-west-1.elasticbeanstalk.com"
2016/05/03 14:55:04 [error] 2566#0: *61 connect() failed (111: Connection refused) while connecting to upstream, client: 172.31.43.183, server: , request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:5000/", host: "myHost.eu-west-1.elasticbeanstalk.com"

我用于我的后端框架 SparkJava,它在端口 4567 上启动。 因此我扩展了 Nginx (nginx/1.8.1) 的配置。但问题始终存在。

server {
    listen 4567 default_server;
    listen [::]:4567 default_server ipv6only=on;
}

供参考:我的后端与数据库通信(RDS aws amazon)

【问题讨论】:

    标签: java amazon-web-services nginx amazon-elastic-beanstalk spark-java


    【解决方案1】:

    从您的日志中:upstream: "http://127.0.0.1:5000/" 我明白了,nginx 正在尝试连接到同一台机器上的 5000 端口并且它拒绝连接。什么在 5000 端口上运行?你可能需要调查一下。

    【讨论】:

    • 感谢您的回答。最后我选择了服务器 TomCat。
    • @ChristianAmani,如果您选择了 TomCat,您为什么接受 Ravi 的回答?
    • 我接受了 Ravis 的回复,因为他是对的。默认情况下,Elastic Beanstalk 将 nginx 代理服务器配置为将请求转发到端口 5000 上的应用程序。现在我的应用程序正在侦听端口 4567。所以这导致了我收到的错误。为了解决这个问题,我只需要通过将 PORT 系统属性设置为我的应用程序正在侦听的端口来替换默认端口。
    • 谢谢你为我节省了很多时间。我的情况是,我有 spring boot 应用程序,我在本地使用其他端口(如 8888)运行但从 Stackdriver 日志记录中我看到上游期待端口 8080。所以我将我的应用程序端口从 8888 更改为 8080 并部署回成功部署的应用引擎服务。谢谢你的线索。
    猜你喜欢
    • 2015-06-04
    • 1970-01-01
    • 2015-04-03
    • 2022-01-18
    • 2016-11-20
    • 2014-02-26
    • 2012-11-21
    • 2017-07-08
    • 1970-01-01
    相关资源
    最近更新 更多