Nginx - connect () falhou (111: Conexão recusada) ao conectar-se ao upstream

1

Estou executando um site que usa Django, Nginx, Gunicorn, Supervisord e fail2ban (que permite apenas ssh, http e https). O site está ativo e funcionando corretamente, mas há algumas entradas de log de erro do nginx relacionadas:

connect() failed (111: Connection refused) while connecting to upstream, client: x.x.x.x, server: www.example.com, request: "GET /example/url/to/get/ HTTP/1.1", upstream: "http://[::1]:8000/example/url/to/get/", host: "www.example.com"

upstream server temporarily disabled while connecting to upstream, client: x.x.x.x, server: www.example.com, request: "GET /example/url/to/get/ HTTP/1.1", upstream: "http://[::1]:8000/example/url/to/get/", host: "www.example.com"

Aqui está minha configuração do nginx:

upstream app_server_wsgiapp {
  server localhost:8000 fail_timeout=0;
}

server {
 listen 80;
 server_name www.example.com;
 return 301 https://www.example.com$request_uri;
}

server {
  server_name           www.example.com;
  listen                443 ssl;

  if ($host = 'example.com') {
    return 301 https://www.example.com$request_uri;
  }

  ssl_certificate       /etc/nginx/example/example.crt;
  ssl_certificate_key   /etc/nginx/example/example.key;
  ssl_session_timeout   1d;
  ssl_session_cache     shared:SSL:50m;
  ssl_protocols         TLSv1.1 TLSv1.2;
  ssl_ciphers           'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-
AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-
SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-
SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-
SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-
SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-
AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-
SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-
SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-
SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-
SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-
CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
  ssl_prefer_server_ciphers   on;

  access_log          /var/log/nginx/www.example.com.access.log;
  error_log           /var/log/nginx/www.example.com.error.log info;
  keepalive_timeout   5;

  proxy_read_timeout    120s;

  # nginx serve up static and media files
  location /static {
    autoindex on;
    alias /static/path;
  }

  location /media {
        autoindex on;
        alias /media/path;
  }

  location / {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_redirect off;
    if (!-f $request_filename) {
        proxy_pass http://app_server_wsgiapp;
        break;
    }
  }
}

Eu não tenho nenhum erro nos registros do Gunicorn.

Como eu disse, o site está funcionando corretamente. Mas eu não quero ignorar logs de erros que podem se tornar um problema maior mais tarde.

    
por darkpool 28.03.2017 / 09:42

2 respostas

5

Isso pode acontecer porque seu sistema é dual-stack, mas seu upstream é apenas IPv4?

Parece que localhost está resolvendo para [::1] , o que, dependendo do seu envio, pode ser o problema por si só.

Se você estiver se comunicando por loopback, eu tenderia a supor que Connection refused é 'real' - isso reflete o problema real.

Você pode verificar se esse é o problema substituindo localhost por 127.0.0.1 em sua configuração do desenvolvedor:

upstream app_server_wsgiapp {
  server 127.0.0.1:8000 fail_timeout=0;
}
    
por 28.03.2017 / 10:58
0

Eu estava recebendo o seguinte no nginx error.log que foi resolvido substituindo o host local upstream para 127.0.0.1. Para a mesma chamada, eu estava obtendo uma entrada bem-sucedida no access.log e uma conexão recusada na entrada error.log. Muito obrigado pela ajuda.

2017/08/15 16:41:27 [error] 17337 # 0: * 382749 connect () falhou (111: Conexão recusada) ao conectar-se ao upstream, client: 10.10.xx.xx, server: test.myhost .com, request: "GET / teste / relaystate HTTP / 1.1", upstream: " link ", host: "test.myhost.com"

    
por 15.08.2017 / 23:56