Analisando logs de erro do Nginx para solucionar problemas de 'connection refused'
Aprenda as melhores práticas para interpretar logs de erro do Nginx e identificar a causa raiz de problemas de 'connection refused', abrangendo configurações de socket e verificações de servidor upstream.
Introdução
O erro connection refused no Nginx é um dos problemas mais comuns ao configurar servidores web ou proxies reversos. Ele ocorre quando o Nginx tenta se conectar a um servidor upstream, mas o sistema operacional recusa a conexão.
O que significa 'Connection Refused'?
Este erro indica que o Nginx enviou um pacote SYN para um endereço IP e porta específicos, mas o destino respondeu com um pacote RST (reset), indicando que nada está ouvindo naquela porta.
Passos para Diagnóstico
1. Verifique os logs de erro
O local padrão dos logs é /var/log/nginx/error.log. Procure por entradas como:
connect() failed (111: Connection refused) while connecting to upstream
2. Verifique se o serviço está rodando
Certifique-se de que o serviço upstream (como PHP-FPM, Node.js ou Python) esteja realmente em execução:
# Exemplo para verificar um serviço rodando na porta 3000
netstat -tulpn | grep 3000
3. Verifique o binding do socket
Se o serviço estiver rodando, verifique se ele está escutando no endereço correto (ex: 127.0.0.1 vs 0.0.0.0). Se o Nginx tenta se conectar ao 127.0.0.1 e o serviço está escutando apenas no IP da rede local, a conexão será recusada.
Conclusão
Resolver erros de conexão exige uma abordagem sistemática: verifique se o processo está ativo, se a porta está correta e se não há firewalls bloqueando a comunicação interna.