Base de Conhecimento

ERR_CONNECTION_REFUSED: o que é e como resolver

  • err_connection_refused, erro de conexão, nginx, firewall, vps, ufw
  • Usuários acharam útil: 0

Entenda o ERR_CONNECTION_REFUSED: diferença para tempo esgotado, passos para o visitante e diagnóstico na VPS com DNS, Nginx, portas 80 e 443, firewall, curl e logs.

Por Redação Eleven Host · @robson.direitodigital · 28 de outubro de 2026 · 8 min de leitura

Arte da Eleven Host: janela de terminal com o título: ERR_CONNECTION_REFUSED: o que é e como resolver

Capa da Redação Eleven Host para o guia: ERR_CONNECTION_REFUSED: o que é e como resolver Arte: Eleven Host

O ERR_CONNECTION_REFUSED aparece quando o navegador chegou ao endereço do servidor, mas nenhum serviço aceitou a conexão naquela porta. As causas possíveis são servidor web parado, porta fechada no firewall ou endereço errado.

Este guia separa o problema em dois lados. Se você é só visitante, há passos simples no seu computador e na sua rede. Se o site é seu, há uma ordem de diagnóstico na VPS, com comandos para conferir cada etapa. Os nomes seudominio.com.br e 203.0.113.10 são exemplos: troque pelos seus.

O que a mensagem quer dizer

A tradução técnica é direta: o navegador encontrou o endereço do servidor, mas a conexão foi recusada. No Linux, o erro de sistema equivalente é o ECONNREFUSED, que a página de manual da função connect define como uma conexão que "não encontrou ninguém escutando" no endereço remoto. Ou seja, nenhum programa estava atendendo naquela porta, ou um firewall respondeu recusando.

Esse erro é diferente do tempo esgotado. Segundo o mesmo manual, o ETIMEDOUT acontece quando a tentativa de conexão passa do tempo limite e o servidor pode estar ocupado demais para aceitar novas conexões. No tempo esgotado, ninguém responde e o navegador desiste depois de esperar. No erro de conexão recusada, a resposta chega com a recusa. O Chrome mostra o tempo esgotado com outro código, o ERR_CONNECTION_TIMED_OUT.

Conexão recusada quer dizer que o servidor respondeu "não" naquela porta. Tempo esgotado quer dizer que não veio resposta nenhuma.

Se você é visitante

A causa pode estar no site, que pode estar fora do ar ou em manutenção, ou do seu lado. A página de ajuda do Chrome sobre erros de conexão cita, do lado do usuário, firewall ou antivírus, problemas de modem ou roteador, e cookies e extensões do navegador. Siga esta ordem:

  1. Confira o endereço digitado. Uma letra trocada leva a outro lugar.
  2. Veja se o problema é em um site só ou em vários. Isso ajuda a separar o problema do site do problema da sua conexão.
  3. Reinicie o modem e o roteador.
  4. Abra o endereço em uma janela anônima. Se funcionar ali, desative as extensões ou apague os dados de navegação.
  5. Verifique se o firewall ou o antivírus do computador está bloqueando o navegador.
  6. Atualize o Chrome.

Proxy e VPN configurados no computador também podem barrar a conexão, e vale desligá-los para testar. Um DNS antigo, que ainda aponta para um IP velho, é outra possibilidade. Se nada disso resolver e o site é de outra pessoa, o problema pode estar no servidor dela. O guia Site fora do ar: o que fazer, passo a passo mostra o que fazer quando um site está fora do ar.

Se o site é seu: a ordem de diagnóstico

Do lado de quem administra, o erro pode vir de causas como: o servidor web está parado, ele roda mas não escuta na porta 80 (HTTP) ou na 443 (HTTPS), um firewall está recusando a conexão, ou o domínio aponta para o IP errado. Os passos abaixo seguem do mais simples ao mais específico. Os comandos pressupõem uma VPS com Ubuntu e Nginx e acesso por SSH.

Passo 1: o DNS aponta para o servidor certo?

Comece pelo endereço. Se o domínio aponta para um IP que não é o da sua VPS, o navegador bate na porta de outra máquina. Consulte o DNS:

dig +short seudominio.com.br

A resposta deve ser o IP da sua VPS, como 203.0.113.10 no exemplo. Se vier outro IP, o domínio aponta para o lugar errado, ou o visitante ainda tem a resposta antiga guardada em cache. O guia Apontar domínio para VPS: passo a passo com registro A mostra como corrigir o registro.

Passo 2: o servidor web está rodando?

Entre na VPS por SSH e veja o estado do serviço:

sudo systemctl status nginx

Procure a linha com "active (running)". Se o serviço estiver parado, inicie:

sudo systemctl start nginx

Se ele não subir, o motivo pode aparecer na saída do comando de status e nos logs, que a seção seguinte mostra. Se o Nginx nem chegou a ser instalado, instale-o antes de seguir.

Passo 3: alguém escuta na porta 80 e na 443?

Um serviço pode estar rodando e, mesmo assim, não escutar na porta que o navegador usa. Liste as portas em escuta:

sudo ss -tlnp

Segundo a página de manual do ss, a opção -t mostra sockets TCP, a -l mostra apenas os que estão escutando (eles ficam omitidos por padrão), a -n evita resolver nomes de serviços e a -p mostra os processos que usam os sockets. Procure linhas com :80 e :443 e o nome do processo, que deve ser o nginx.

Se a porta 80 não aparece, o servidor web não está escutando nela. O guia de iniciantes do Nginx explica que a configuração inicial é um servidor que escuta na porta padrão 80. Se a 443 não aparece, pode ser que o HTTPS ainda não esteja configurado, e o guia Redirecionar HTTP para HTTPS: passo a passo no Nginx ajuda nessa parte. Depois de editar a configuração, teste a sintaxe e recarregue:

sudo nginx -t

sudo nginx -s reload

Passo 4: o firewall está recusando?

Segundo a documentação do Ubuntu, o ufw vem inicialmente desativado. Se você o ligou, ele passa a usar a política padrão de entrada deny. Veja as regras:

sudo ufw status verbose

Se as portas web não estão liberadas, libere-as:

sudo ufw allow 80/tcp

sudo ufw allow 443/tcp

Há ainda uma diferença sobre a forma de bloquear. Pela página de manual do ufw, uma regra deny ignora o tráfego, e uma regra reject avisa o remetente de que foi bloqueado. Veja no resultado de status se há uma regra REJECT em portas web.

Cuidado ao ligar o firewall por SSH

A página de manual do ufw avisa que ligá-lo pode derrubar conexões existentes, como o SSH. Libere a porta 22 antes de rodar sudo ufw enable:

sudo ufw allow 22

Quer conhecer os planos de VPS? O Plano Bronze da VPS sai a partir de R$ 17,00/mês; confira na loja o que cada plano inclui. Ver planos de VPS

Passo 5: teste de dentro do servidor

Este teste separa o problema do serviço do problema do caminho. Ainda por SSH, peça o cabeçalho da página ao próprio servidor:

curl -I http://localhost

Se a resposta vem aqui e não de fora, o serviço está de pé, e o problema fica no caminho: firewall ou DNS. Se o curl também recusa a conexão, o problema está no serviço ou na porta, e você volta aos passos 2 e 3.

Onde olhar nos logs

Quando o serviço não sobe ou cai logo depois de iniciar, o log pode trazer o motivo. O Nginx grava seus registros em /var/log/nginx, e o log de erros é um bom ponto de partida (confira o caminho no seu servidor):

sudo tail -n 50 /var/log/nginx/error.log

Uma configuração com erro de sintaxe é um motivo possível para o Nginx não subir. O sudo nginx -t testa a sintaxe da configuração.

Quando o problema não é o servidor

Se os passos acima estão corretos e o erro continua só para você, volte ao lado do visitante. O antivírus ou o firewall do computador, uma extensão do navegador, um proxy ou uma VPN configurados no aparelho podem recusar a conexão sem que o servidor tenha falha. Teste em outro navegador, em outra rede (por exemplo, o plano de dados do celular) e em outro aparelho. Se o site abre nos outros, o problema pode estar no seu computador ou na sua rede.

Se o site abre, mas com outro erro, o diagnóstico muda. Se for um 502, o guia Erro 502 Bad Gateway: o que é e como resolver na VPS cobre esse caso.

Checklist: ERR_CONNECTION_REFUSED no seu site

  • O dig +short do domínio devolve o IP da sua VPS.
  • O systemctl status nginx mostra "active (running)".
  • O ss -tlnp lista o nginx em :80 (e em :443, se o HTTPS está configurado).
  • O ufw status libera as portas 80 e 443 e não tem regra REJECT nelas.
  • O curl -I http://localhost responde dentro do servidor.
  • O log em /var/log/nginx não mostra erro de configuração.
  • O site abre em outra rede e em outro aparelho.

Ainda sem o endereço do seu site? Registre o seu domínio na Eleven Host: DNS gerenciado grátis na rede da Cloudflare para domínios registrados conosco (painel na área do cliente). Registrar domínio

Perguntas frequentes

O que significa ERR_CONNECTION_REFUSED?

Significa que o navegador chegou ao endereço do servidor, mas a conexão foi recusada. Nenhum programa estava escutando naquela porta, ou um firewall respondeu recusando.

ERR_CONNECTION_REFUSED é culpa do site ou do meu computador?

Pode ser dos dois lados. O servidor parado ou a porta fechada são causas do site. Firewall, antivírus, extensões, proxy e VPN do visitante também podem recusar a conexão. Testar em outra rede e em outro aparelho ajuda a separar.

Qual a diferença entre conexão recusada e tempo esgotado?

Na conexão recusada, a resposta chega com a recusa. No tempo esgotado, ninguém responde e o navegador desiste depois de esperar. O Chrome usa o código ERR_CONNECTION_TIMED_OUT para o segundo caso.

Como saber se alguém escuta na porta 80 da minha VPS?

Rode sudo ss -tlnp e procure uma linha com :80 e o nome do processo, como o nginx. Se a linha não existe, o servidor web não está escutando nessa porta.

Esta resposta lhe foi útil?

Artigos Relacionados