0

I'm trying to setup an Nodejs/Express api on elastic beanstalk, and I'm pretty new to it.

I'm getting this message in the error.log:

2019/10/02 17:04:17 [error] 5515#0: *15 connect() failed (111: Connection refused) while connecting to upstream, client: 172.31.51.86, server: , request: "GET /favicon.ico HTTP/1.1", upstream: "http://127.0.0.1:8081/favicon.ico", host: "news-arg-backend-dev.us-west-2.elasticbeanstalk.com", referrer: "http://news-arg-backend-dev.us-west-2.elasticbeanstalk.com/teams"
2019/10/02 17:04:18 [error] 5515#0: *15 connect() failed (111: Connection refused) while connecting to upstream, client: 172.31.51.86, server: , request: "GET /teams HTTP/1.1", upstream: "http://127.0.0.1:8081/teams", host: "news-arg-backend-dev.us-west-2.elasticbeanstalk.com"
2019/10/02 17:04:19 [error] 5515#0: *15 connect() failed (111: Connection refused) while connecting to upstream, client: 172.31.51.86, server: , request: "GET /favicon.ico HTTP/1.1", upstream: "http://127.0.0.1:8081/favicon.ico", host: "news-arg-backend-dev.us-west-2.elasticbeanstalk.com", referrer: "http://news-arg-backend-dev.us-west-2.elasticbeanstalk.com/teams"
2019/10/02 17:04:20 [error] 5515#0: *15 connect() failed (111: Connection refused) while connecting to upstream, client: 172.31.51.86, server: , request: "GET /teams HTTP/1.1", upstream: "http://127.0.0.1:8081/teams", host: "news-arg-backend-dev.us-west-2.elasticbeanstalk.com"

I think it might be related to this issue, but I'm not entirely sure: connect() failed (111: Connection refused) while connecting to upstream

Edit: This is my nginx.conf

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       8080;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
 /50x.html {
            root   html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }


    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}


    # HTTPS server
    #
    #server {
    #    listen       443 ssl;
    #    server_name  localhost;

    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;

    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }

Edit: I should have been more specific before.

This is an express/Node.js api that connects to an external ec2 server that hosts a mongo database. I'm trying to connect to the node api on the the elastic beanstalk server that will return json data from the mongo database.

When I try to connect to the endpoint /teams or anything under the domain, I receive the Gateway 502 error.

schoenbl
  • 101
  • 1
  • 2
  • You really need to describe your setup in a bit more detail for help. For example - what is trying to connect to what? How are those things (not just Nginx) configured? Have you done network diagnostics to make sure there is a route between the servers, or are they on the same server? etc. – Tim Oct 03 '19 at 17:45
  • @Tim thanks. i added more information at the end. i'm pretty new to this, so i may not know what exactly is relevant. thanks for the help. – schoenbl Oct 03 '19 at 18:05
  • Thanks for adding more info. It's not really as precise as it could be, and maybe you want to integrate the extra information into the question rather than putting everything in "edit" sections. You should show your network architecture up front, diagrams are good. Also, please remove any sections of the Nginx config that are commented out as they're irrelevant. Your question need to fully explain your architecture, configuration, and problem. – Tim Oct 03 '19 at 18:36
  • I think you're deploying a node app onto an Elastic Beanstalk server, which is then trying to connect to an EC2 instance outside your account hosting an MongoDB database - is that correct? Is that an Nginx error log you've posted? Nginx doesn't tend to connect to MongoDB, just other web / app servers, so it's not really clear. – Tim Oct 03 '19 at 18:37

0 Answers0