AWS elastic Beanstalk / nginx : connect() failed (111: Connection refused - node.js

I got this message
connect() failed (111: Connection refused
Here is my log:
-------------------------------------
/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/"
I am using nodejs/express Elastic Beanstalk env.
I have one nginx related file in
.ebextensions/nginx/conf.d/proxy.conf
Upper file contains:
client_max_body_size 50M;
Whenever I try to get my webpage I got 502 bad gateway.
What's wrong with my app?

Just recording my incident here just in case it helps someone or my future self. I had a Django application that had SECURE_SSL_REDIRECT set to True. Since I had no load balancers configured to handle HTTPS traffic I was getting a timeout. Setting it to False fixed the issue. Couple of days wasted on that one.

111 connection refused likely means your app isn't running on the server/port combination. Also check that the security group for your app instance (or load balancer) has an inbound rule set to allow traffic from the nginx instance

I was dealing with this error on my NodeJS application (NEXTJS). Posting this here just in case is useful for someone.
My error was thet the deploy command failed at the build step (next build), which means the Node server never restarted. For that reason nginx could not find the server. You can find this kind of errors in the web.stdout.log
I tested my build command locally, fixed the errors and it worked!

Related

Nginx Error : (111: Connection refused) while connecting to upstream | EB2 | NodeJs app

I am a newbie and still learning development. I have deployed a nodejs app on EB2 for a project I am making. While most of the time the app works fine, sometimes it will stop working and API calls will stop going through giving me a '504 Gateway Time-out' error. I checked the logs and here is what I found repeatedly :
2022/09/22 16:18:32 [error] 3377#3377: *3027 connect() failed (111: Connection refused) while connecting to upstream, client: 172.31.2.149, server: , request: "GET /socket.io/?transport=polling&b64=1&EIO=4 HTTP/1.1", upstream: "http://127.0.0.1:8080/socket.io/?transport=polling&b64=1&EIO=4", host: "www.domain"
2022/09/22 16:18:33 [error] 3377#3377: *3209 connect() failed (111: Connection refused) while connecting to upstream, client: 172.31.2.149, server: , request: "GET /socket.io/?transport=polling&b64=1&EIO=4 HTTP/1.1", upstream: "http://127.0.0.1:8080/socket.io/?transport=polling&b64=1&EIO=4", host: "www.domain"
2022/09/22 16:22:40 [error] 3377#3377: *3318 connect() failed (111: Connection refused) while connecting to upstream, client: 172.31.2.149, server: , request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:8080/", host: "172.31.9.9"
What is causing this and how can I resolve this?

After deployment to AWS I get 502 bad gateway error

I successfully deployed the nodejs application to aws elastic beanstalk using gitlab ci/cd. However, when I try to visit the link of the aws environment I get 502 bad gateway error. I downloaded the logs file and below are last logs that I get.
2022/03/20 04:58:57 [error] 723#723: *97 connect() failed (111: Connection refused) while connecting to upstream, client: 172.31.0.96, server: , request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:8080/", host: "172.31.13.104"
2022/03/20 04:59:02 [error] 723#723: *99 connect() failed (111: Connection refused) while connecting to upstream, client: 172.31.73.189, server: , request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:8080/", host: "172.31.13.104"
2022/03/20 04:59:12 [error] 723#723: *101 connect() failed (111: Connection refused) while connecting to upstream, client: 172.31.0.96, server: , request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:8080/", host: "172.31.13.104"
2022/03/20 04:59:17 [error] 723#723: *103 connect() failed (111: Connection refused) while connecting to upstream, client: 172.31.73.189, server: , request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:8080/", host: "172.31.13.104"
2022/03/20 04:59:27 [error] 723#723: *105 connect() failed (111: Connection refused) while connecting to upstream, client: 172.31.0.96, server: , request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:8080/", host: "172.31.13.104"
2022/03/20 04:59:32 [error] 723#723: *107 connect() failed (111: Connection refused) while connecting to upstream, client: 172.31.73.189, server: , request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:8080/", host: "172.31.13.104"
2022/03/20 04:59:42 [error] 723#723: *109 connect() failed (111: Connection refused) while connecting to upstream, client: 172.31.0.96, server: , request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:8080/", host: "172.31.13.104"
What is going wrong in this case and how to solve it?
UPDATE
Here is the ED platform I am using
Node.js 16 running on 64bit Amazon Linux 2
I am using HTTP for now.
Node.js uses port 3000 by default, but EB uses 8080:
By default, Elastic Beanstalk configures the proxy to forward requests to your application on port 8080.
Your error indicates that your application does not use port 8080, which would explain why EB fails to connect.

Nodejs connect() failed (111: Connection refused) while connecting to upstream, client: localhost, server: , request: "GET / HTTP/1.1", upstream

I deloyed my Nodejs app to beanstalk service, I am able to Signup and Login my app, but after i Login, it just keeps buffering, not pulling any data, i checked my AWS logs and found this error
2021/10/22 23:43:09 [error] 3610#3610: *1 connect() failed (111: Connection refused) while connecting to upstream, client: ip-address, server: , request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:8080/", host: "ip-address"
i have changed my settings on my security groups in configuration with no luck, would be glad to get some assistance here. Thank you!

sockjs-node net::ERR_CONNECTION_REFUSED [duplicate]

This question already has an answer here:
GET: ERR_SSL_PROTOCOL_ERROR nginx + vue.js
(1 answer)
Closed 3 years ago.
I created a brand new tiny webapp with vue cli, so without adding anything, apart from what the empty vue-cli scaffolding brings:
(base) marco#pc:~/vueMatters/testproject$ npm run serve
> testproject#0.1.0 serve /home/marco/vueMatters/testproject
> vue-cli-service serve
INFO Starting development server...
98% after emitting CopyPlugin
DONE Compiled successfully in 1409ms 8:14:46 PM
App running at:
- Local: localhost:8080
- Network: 192.168.1.7:8080
Note that the development build is not optimized.
To create a production build, run npm run build.
And got this error message :
GET https://localhost/sockjs-node/info?t=1580228998416 net::ERR_CONNECTION_REFUSED
node --version
v12.10.0
npm -v
6.13.6
webpack-cli#3.3.10
Ubuntu 18.04.03 Server Edition
last lines of /var/log/nginx/error.log :
2020/01/28 18:10:57 [error] 980#980: *34 connect() failed (111:
Connection refused) while connecting to upstream, client:
66.249.79.119, server: ggc.world, request: "GET /robots.txt HTTP/1.1",
upstream: "http://127.0.0.1:8080/robots.txt", host: "ggc.world"
2020/01/28 18:11:37 [error] 980#980: *36 connect() failed (111:
Connection refused) while connecting to upstream, client: 66.249.79.70,
server: ggc.world, request: "GET /robots.txt HTTP/1.1", upstream:
"http://127.0.0.1:8080/robots.txt", host: "www.ggc.world"
How to solve the problem?
You need to specify SSL Certificates in your socket connections.
Here is the reference.
var options = {
key: fs.readFileSync('./file.pem'),
cert: fs.readFileSync('./file.crt')
};
var server = https.createServer(options, app);
var io = require('socket.io')(server);

nginx node upstream prematurely closed connection while reading response header

I have a nodejs server running behind nginx on elastic beanstalk. I think the following error is because of a promise that isn't being activated?
Does anyone have a better idea about what it is?
2017/03/20 12:18:02 [error] 3503#0: *7363 upstream prematurely closed
connection while reading response header from upstream, client: 111.11.11.111,
server: , request: "POST /api/v1/some/url HTTP/1.1", upstream:
"http://127.0.0.1:8081/api/v1/some/url", host: "some.website.com"
we are also looking to solve that issue. From what I found, it looks like it is because your nodejs does not give a response fast enough. Hope it helps...

Resources