err_connection_closed: o que significa e como resolver

Publicado:

15 min de leitura

Acar Diveroli
Autor: Acar Diveroli
Plugue de navegador fora da tomada de um servidor, pinos no ar, bandeira FIN azul no vão e caixa -100 no alto à direita

Você clica em um link, ou recarrega uma página que funcionava um minuto atrás, e o Chrome mostra uma página cinza: "Não é possível acessar esse site", abaixo "www.example.com encerrou a conexão inesperadamente." e, no final, ERR_CONNECTION_CLOSED. Os outros sites abrem normalmente. Edge, Brave e Opera mostram o mesmo código, porque compartilham o código de rede do Chrome.

A seguir: o que o código significa, como ele difere de uma redefinição e de uma resposta vazia, o que o provoca (testado no nosso próprio computador), as soluções no Windows, no Mac, no Android e no iPhone, o que muda com uma VPN ou um proxy e o que os donos de sites devem verificar.

O que significa ERR_CONNECTION_CLOSED?

Significa que o outro lado fechou uma conexão que o Chrome tinha aberto, antes de a página voltar. A lista de erros de rede do Chromium dá ao código o número -100 e uma linha de descrição: "A connection was closed (corresponding to a TCP FIN)." (uma conexão foi fechada, o que corresponde a um FIN do TCP). Uma conexão é a linha de mão dupla que um navegador e um servidor abrem antes de qualquer página ser enviada; FIN é o sinal com que uma ponta avisa que não tem mais nada a enviar.

No Chromium 145 em português, no Windows, a página tem o título "Não é possível acessar esse site" e a linha "example.com encerrou a conexão inesperadamente.", com o endereço que você abriu. Abaixo vêm a lista Tente: ("Verificar a conexão", "Verificar o proxy e o firewall", "Executar o Diagnóstico de Rede do Windows"), o código e o botão Recarregar.

Qual a diferença para ERR_CONNECTION_RESET e ERR_EMPTY_RESPONSE?

Os três códigos diferem em como e quando a conexão terminou. O TCP, o protocolo por baixo de toda página da web, encerra uma conexão de um de dois jeitos: com FIN, um fechamento educado que diz "não vou mandar mais dados", ou com RST, uma redefinição que descarta a conexão na hora. O RFC 9293, o padrão do TCP, define os dois. O Chromium informa um FIN como ERR_CONNECTION_CLOSED (-100) e uma redefinição como ERR_CONNECTION_RESET (-101, "corresponding to a TCP RST", ou seja, correspondente a um RST do TCP).

ERR_EMPTY_RESPONSE (-324) também é um fechamento educado, mas depois que a requisição saiu: "The server closed the connection without sending any data." (o servidor fechou a conexão sem enviar nenhum dado). O Chrome mostra esse código com outro título, "Esta página não está funcionando".

ErroQuem fechouComoCausa típica
ERR_CONNECTION_CLOSEDO site ou um dispositivo no meioFIN antes da página, muitas vezes durante a configuração seguraVPN ou proxy derrubando o túnel, um filtro, o front-end TLS do site
ERR_CONNECTION_RESETO site ou um dispositivo no meioRST, a qualquer momentoSoftware de segurança, um filtro, um reinício do servidor
ERR_EMPTY_RESPONSEO servidor ou um proxyFIN depois da requisição, sem respostaServidor sobrecarregado, um proxy que desliga

Se a sua tela diz "A conexão foi redefinida.", esse código é tratado em err_connection_reset: o que é e como resolver.

O que provoca o ERR_CONNECTION_CLOSED?

O principal gatilho é um fechamento antes de a configuração segura terminar. Apontamos o Chromium 145, controlado pelo Playwright no Windows 11, para pequenos servidores de teste no nosso computador, cada um fechando em um ponto diferente:

  1. Fechamento durante a configuração segura. O servidor leu a primeira mensagem TLS do Chrome, o "olá" que inicia a criptografia do HTTPS, e fechou com um FIN: ERR_CONNECTION_CLOSED. Fechar no mesmo instante em que a conexão abriu deu o mesmo código.
  2. Redefinição no mesmo momento. RST em vez de FIN deu ERR_CONNECTION_RESET.
  3. Fechamento depois de ler a requisição. A configuração segura terminou, o servidor leu a requisição e fechou sem responder: ERR_EMPTY_RESPONSE, "Nenhum dado foi enviado por localhost". Um servidor http:// simples deu o mesmo.
  4. O mesmo fechamento no HTTP/2. Quando o servidor tinha combinado o HTTP/2, a versão mais nova do protocolo da web, o fechamento idêntico voltou como ERR_CONNECTION_CLOSED.

Então o código aponta para uma conexão que terminou antes de a criptografia ficar pronta, ou para uma conexão HTTP/2 que terminou enquanto a sua requisição esperava.

Por que a mensagem cita o site se outra coisa fechou a conexão?

O Chrome escreve o endereço que você abriu, não a máquina que enviou o FIN. Por meio de um proxy de teste que aceitou abrir o túnel e depois o fechou, o Chrome disse "example.com encerrou a conexão inesperadamente." embora o example.com nunca tenha visto a requisição. Qualquer VPN, proxy, programa de segurança ou filtro de rede que cuide da sua conexão pode fechá-la em nome do site.

O que causa o ERR_CONNECTION_CLOSED para os visitantes?

Cada causa deixa um padrão próprio:

  • Uma VPN ou um proxy derrubando o túnel. Falha só enquanto a VPN ou o proxy está ligado.
  • Software de segurança. Todos os navegadores de um computador falham, enquanto os celulares no mesmo Wi-Fi funcionam. O recurso responsável costuma se chamar "proteção web" ou "verificação de HTTPS".
  • Uma extensão do navegador. Só um navegador falha, e uma janela anônima funciona.
  • Um filtro de rede. Um site falha em todos os dispositivos de uma rede, mas abre nos dados móveis. Em uma rede de escritório ou de escola, quem decide é o administrador; se o bloqueio está no seu provedor, nada no seu dispositivo muda isso, e este guia não trata de formas de contorná-lo.
  • O próprio site. Falha em todos os dispositivos e redes, por exemplo durante uma atualização ou um horário de pico.

Um sinal fraco de Wi-Fi sozinho raramente produz esse código: um enlace que cai não envia nada, então termina em um tempo limite esgotado ou em ERR_NETWORK_CHANGED.

Como resolver ERR_CONNECTION_CLOSED no Windows 10 e 11?

Recarregue depois de cada passo.

  1. Descarte as extensões. Selecione Mais > Nova janela anônima; ali as extensões só rodam se você as permitiu. Se o site abrir, vá em Mais > Extensões > Gerenciar extensões e desligue uma de cada vez, começando pelas de VPN, proxy e bloqueio de anúncios.
  2. Desconecte a VPN. Se o site abrir sem ela, escolha outro servidor, atualize o app ou fale com o provedor da VPN.
  3. Procure um proxy que você nunca configurou. Abra Configurações > Rede e Internet > Proxy. Em Configuração manual de proxy, selecione Configurar ao lado de Usar um servidor proxy. Se estiver ativado e não foi você quem ativou, desative e selecione Salvar. Se foi a sua empresa que configurou, deixe como está e pergunte a ela.
  4. Teste o seu software de segurança. Pause só a proteção web ou a verificação de HTTPS dele, e só durante um teste. Se o site abrir, ligue a proteção de novo, atualize o programa e adicione o site às exceções dele.
  5. Atualize o Chrome e reinicie o roteador. Tire o roteador da tomada por 30 segundos; não aperte o botão de reset do furinho, que restaura as configurações de fábrica.
  6. Redefina as configurações de rede, por último. Segundo o guia da Microsoft para corrigir problemas de Wi-Fi: Configurações > Rede e Internet > Configurações de rede avançadas > Redefinição de rede, depois Redefinir agora e Sim (Windows 10: Status > Redefinir rede). Isso remove todos os adaptadores de rede e as configurações deles e reinicia o computador; pode ser preciso configurar de novo os clientes de VPN.

No Mac

Desconecte qualquer app de VPN e depois procure um proxy: escolha menu Apple > Ajustes do Sistema, clique em Rede, selecione o serviço que você usa, clique em Detalhes e depois em Proxies. Se Proxy da web (HTTP), Proxy da web seguro (HTTPS) ou Proxy SOCKS estiver ativado e não foi você quem configurou, desative. Se o Safari abre o site e o Chrome não, a causa está no Chrome, muito provavelmente em uma extensão.

No iPhone e no Android, inclusive no Chrome para celular

Troque primeiro entre o Wi-Fi e os dados móveis: a conexão que funcionar mostra onde o fechamento acontece. Muitos apps de bloqueio de anúncios e de segurança funcionam como VPN, então um celular pode ter uma ativa sem nenhum app de VPN.

  • Android: abra Configurações > Rede e Internet > VPN, toque no ícone de configurações ao lado da VPN e desligue-a. A opção VPN sempre ativa mantém uma rodando em segundo plano.
  • iPhone: desligue a VPN no app dela. Os perfis ficam em Ajustes > Geral > Gerenciamento de VPN e Dispositivo; apague só os que você mesmo instalou e pergunte ao administrador sobre perfis do trabalho ou da escola.
  • Nos dois: atualize o Chrome pela Play Store ou pela App Store.

No iPhone, o último passo é Ajustes > Geral > Transferir ou Redefinir iPhone > Redefinir > Redefinir Ajustes de Rede. Segundo a Apple, essa ação redefine "todas as Wi-Fi e senhas, ajustes de rede celular e ajustes de VPN e APN", então use esse passo só quando nada mais tiver ajudado.

E se você usa um proxy ou uma VPN de propósito?

Quando o erro aparece só pelo seu proxy, o proxy fechou o túnel depois de dizer sim. Todo proxy HTTP, inclusive os Proxies HTTPS, leva uma página https:// por um túnel em três passos:

  1. O navegador pede ao proxy que abra um túnel até o site (uma requisição CONNECT, com o seu nome de usuário e senha).
  2. O proxy se conecta ao site e responde "200 Connection established".
  3. O navegador e o site montam a criptografia através do túnel; o proxy só repassa os bytes.

Se o proxy recusa no passo 2 com uma resposta de erro, o Chrome mostra ERR_TUNNEL_CONNECTION_FAILED, explicado em Como resolver err_tunnel_connection_failed no Chrome e Edge. Se ele desliga no passo 2 sem responder, o nosso teste deu ERR_EMPTY_RESPONSE. Se fecha o túnel durante o passo 3, você recebe ERR_CONNECTION_CLOSED com o nome do site na página. Motivos típicos: o servidor do proxy ou da VPN reiniciou ou atingiu um limite, a sessão terminou, ou o proxy perdeu a própria conexão com o site depois de responder.

Avançado: veja o túnel fechar com o curl

Você pode pular esta seção. Um comando no PowerShell do Windows 10 ou 11 envia uma requisição pelo proxy e mostra cada passo:

powershell
curl.exe -sSv -o NUL -x http://user:pass@pr.proxynet.io:8000 https://example.com/

Coloque o endereço, a porta e as credenciais do seu proxy depois de -x, e o site que falha no final. Contra um proxy de teste local que fecha o túnel depois de responder, o curl 8.22.0 no Windows 11 mostrou (linhas cortadas):

text
< HTTP/1.1 200 Connection established
* CONNECT tunnel established, response 200
* schannel: failed to receive handshake, SSL/TLS connection failed
curl: (35) schannel: failed to receive handshake, SSL/TLS connection failed

A linha do 200 significa que o proxy abriu o túnel; as linhas seguintes, que a configuração segura através dele nunca terminou. Uma execução saudável mostra depois HTTP/1.1 200 OK vindo do site; um proxy que desliga sem responder faz o curl parar antes, com curl: (56) Proxy CONNECT aborted. No Mac, digite curl e /dev/null no lugar; o texto da linha TLS depende de como o curl foi compilado. A saída completa mostra uma linha Proxy-Authorization que codifica a sua senha, então não a publique.

Se o site é seu: o que verificar nos logs

Comece na frente da sua aplicação, não dentro dela. Uma conexão fechada durante o handshake TLS, a configuração segura, nunca chega à aplicação, então o log de acesso não tem nenhuma linha para ela.

  • O front-end TLS. Verifique os logs do balanceador de carga, da CDN ou do proxy reverso em busca de handshakes que falharam no horário do visitante. Se os visitantes veem ERR_SSL_PROTOCOL_ERROR, o servidor enviou algo que o Chrome não conseguiu aceitar; Como resolver err_ssl_protocol_error no Chrome e Edge trata desse caso.
  • Conexões HTTP/2 derrubadas no meio da requisição. No nosso teste, esse fechamento mostrou ERR_CONNECTION_CLOSED. Deploys que matam o processo, workers que caem e limites rígidos de conexão causam isso; deixe as requisições em andamento terminarem antes de reiniciar.
  • Tempos limite de inatividade. Fechar uma conexão keep-alive ociosa, uma que fica aberta para ser reutilizada, é normal: o código de transações de rede do Chromium reenvia a requisição "only if we reused a keep-alive connection" (só se uma conexão keep-alive foi reutilizada) e nada voltou ainda.
  • Firewalls e proteção contra DDoS. Limites de conexão podem fechar conexões em vez de responder; procure nos logs deles o endereço do visitante.

Onde as pessoas encontram esse erro

  • Páginas de banco e de verificação de cartão abertas com uma VPN ligada.
  • Notebooks com uma suíte de segurança que verifica o HTTPS.
  • Celulares com um app de bloqueio de anúncios que roda como VPN.
  • Redes de escritório e de escola que filtram alguns sites.
  • Sites no meio de um deploy.

Erros comuns

  • Limpar o cache e os cookies. Nenhuma página chegou, então nada armazenado causou isso.
  • Trocar os servidores DNS. O endereço do site foi encontrado e a conexão foi aberta; o DNS não tem nada a ver com quem a fecha.
  • Culpar o site que aparece na tela. O Chrome cita o site mesmo quando um proxy, uma VPN ou um filtro fechou a conexão.
  • Desligar o firewall ou o antivírus de vez. Pause um único recurso durante um único teste.
  • Começar pela redefinição de rede. Ela apaga redes salvas e configurações de VPN por um problema que um único botão muitas vezes resolve.

Guia de decisão

SituaçãoO que fazer
Uma vez, depois a página funcionaNada; foi um fechamento passageiro
Só o Chrome falha; uma janela anônima funcionaDesligue as extensões uma de cada vez
Todos os navegadores de um computador falhamVerifique a VPN, a configuração de proxy e a verificação de HTTPS
Só com a VPN ou o proxy ligadoOutro servidor, uma atualização do app ou o suporte do provedor
Um site, uma rede, normal nos dados móveisUm filtro de rede; pergunte ao administrador
Um site falha em todas as redesProblema do site; espere ou entre em contato com ele
Visitantes relatam o erro no seu próprio siteLogs do front-end TLS, fechamentos no HTTP/2, reinícios

Perguntas frequentes

O que significa "encerrou a conexão inesperadamente"?

A conexão com o site terminou com um sinal normal de fechamento antes de qualquer página chegar. Quem fechou pode ser o site ou uma VPN, um proxy, um programa de segurança ou um filtro entre você e o site.

Qual a diferença entre ERR_CONNECTION_CLOSED e ERR_CONNECTION_RESET?

O primeiro é um fechamento educado (FIN do TCP); o segundo, um abrupto (RST do TCP). Os dois podem vir do site ou de um dispositivo no caminho.

Por que recebo ERR_CONNECTION_CLOSED só no meu iPhone ou celular Android?

Normalmente por causa de um app que roda como VPN, como um bloqueador de anúncios, ou por causa do Wi-Fi em que o celular está. Desligue o app e teste nos dados móveis.

Por que o ERR_CONNECTION_CLOSED aparece quando a minha VPN está ligada?

Toda conexão agora passa pela VPN, e o servidor dela encerrou esta. Tente outro local de servidor e atualize o app; se o erro continuar, fale com o suporte da VPN.

Por que só um site mostra ERR_CONNECTION_CLOSED?

Ou os servidores do site estão fechando conexões, ou um filtro na sua rede fecha as conexões com esse site. Se ele carrega nos dados móveis, a causa é a sua rede.

ERR_CONNECTION_CLOSED quer dizer que a minha internet está com defeito?

Não. A conexão foi aberta, então a sua internet chegou a algum lugar. Se todos os sites mostram o erro, verifique a VPN, a configuração de proxy e o software de segurança antes de ligar para o seu provedor.

Em resumo

ERR_CONNECTION_CLOSED significa que uma conexão foi fechada de forma educada antes de a página chegar, e o site citado na tela nem sempre é quem a fechou. Encontre o responsável mudando uma coisa de cada vez: extensões, VPN, configuração de proxy, software de segurança, rede; donos de sites começam pelo front-end TLS. Se você direciona tráfego por proxies de propósito, nossa página de proxies explica os tipos de proxy e para que serve cada um.