ERR_CONNECTION_TIMED_OUT: por que acontece e como corrigir
ERR_CONNECTION_TIMED_OUT significa que o navegador nunca recebeu nenhuma resposta à tentativa de conexão dentro do tempo limite, diferente de uma conexão recusada, que recebe uma rejeição rápida e explícita. Alguma coisa entre o cliente e o servidor está descartando a requisição silenciosamente.
O que significa ERR_CONNECTION_TIMED_OUT
Quando um navegador abre uma conexão, ele envia um pacote SYN e espera um SYN-ACK de volta. Um timeout significa que nenhuma resposta chegou, nem uma aceitação nem uma rejeição, antes de o cliente desistir. Esse silêncio é a diferença chave em relação a uma conexão recusada: a recusa é um não rápido e definitivo vindo da máquina de destino, enquanto um timeout pode significar que o pacote nunca chegou a nada capaz de respondê-lo. O Chrome costuma esperar cerca de 30 segundos antes de desistir e mostrar o erro.
O sistema operacional geralmente reenvia o SYN algumas vezes antes de desistir, espaçando as tentativas ao longo da janela de espera em vez de mandar uma requisição só e esperar em silêncio. Esse comportamento de repetição é parte do motivo de um timeout demorar mais para aparecer do que uma recusa: o cliente continua tentando caso a primeira tentativa tenha se perdido por uma perda de pacote comum, e só reporta o erro depois que toda repetição também ficar sem resposta.
Como o erro aparece
O Chrome mostra "This site can't be reached ... ERR_CONNECTION_TIMED_OUT" só depois da espera completa, o que é o sinal visual mais claro que o separa de uma falha rápida. Na linha de comando:
curl -v --max-time 10 https://example.com/
* Trying 203.0.113.10:443...
* Connection timed out after 10001 milliseconds
curl: (28) Connection timed out after 10001 milliseconds
Sem a flag --max-time, o curl usa o padrão do sistema, que pode passar bem de um minuto; definir a flag explicitamente mantém o diagnóstico rápido.
O que causa o ERR_CONNECTION_TIMED_OUT
- O host está fora do ar. Um servidor desligado, travado, ou inacessível no nível de rede não consegue responder a nenhum pacote, nem mesmo um reset.
- Um firewall descarta o pacote silenciosamente. Uma regra DROP descarta o SYN sem devolver nada, uma postura de segurança comum para portas que não deveriam ser alcançáveis pela internet.
- O DNS resolve para um endereço IP errado ou desatualizado. O navegador se conecta a um endereço real e alcançável, só que não é aquele em que algo está de fato escutando.
- Existe um problema de roteamento em algum ponto do caminho. Uma rota mal configurada, um link de peering quebrado, ou uma indisponibilidade no nível do provedor podem prender pacotes antes de chegarem à rede de destino.
- O servidor está sobrecarregado e não consegue aceitar novas conexões. Uma fila de conexões cheia ou um pool de workers esgotado deixa pacotes SYN sem resposta mesmo com a máquina em si rodando.
Recusado, resetado ou expirado
| Erro | O que acontece | Causa típica |
|---|---|---|
| ERR_CONNECTION_REFUSED | Rejeição rápida e explícita (RST) | Nada escutando na porta, ou uma regra de firewall REJECT |
| ERR_CONNECTION_RESET | A conexão funcionava e foi derrubada | Firewall, queda, ou interferência de proxy no meio da conexão |
| ERR_CONNECTION_TIMED_OUT | Nenhuma resposta, espera completa antes de desistir | Host fora do ar, regra de firewall DROP, roteamento, ou IP errado |
Como saber de quem é a culpa
Tente o mesmo endereço a partir de uma rede diferente, como dados móveis. Se conectar lá, o problema é local: seu roteador, seu provedor, ou um firewall na sua própria rede. Se expira em todo lugar, o servidor ou um trecho de rede perto dele é a causa. Rodar uma verificação de porta a partir de vários lugares ao mesmo tempo confirma isso num único passo e mostra se o timeout é consistente entre regiões ou limitado a um caminho.
Como corrigir o ERR_CONNECTION_TIMED_OUT
Se você é o visitante
- Tente uma rede diferente, como dados móveis, para descartar um problema de roteamento do roteador ou do provedor local.
- Reinicie seu roteador para limpar uma entrada de roteamento ou cache de DNS travada.
- Limpe seu cache de DNS local, caso ele esteja guardando um endereço IP antigo e inacessível para o domínio.
- Desative uma VPN temporariamente, se houver uma ativa; o próprio nó de saída da VPN pode ser o que está inacessível.
Se você administra o site
- Confirme que o host está mesmo de pé e acessível de fora da própria rede, não só de um shell local na mesma máquina.
- Confira os grupos de segurança na nuvem e as regras de firewall em busca de uma regra DROP na porta em questão; uma regra que descarta tráfego silenciosamente é fácil de passar despercebida porque não produz nenhum log por padrão.
- Rastreie o caminho para confirmar onde os pacotes param:
traceroute example.com mtr example.com - Confirme que o serviço escuta em
0.0.0.0, não só em127.0.0.1. Um serviço vinculado só ao endereço de loopback fica invisível para qualquer coisa fora da máquina, o que parece idêntico a uma regra de firewall vista de fora. - Verifique se há esgotamento da fila de conexões sob carga; uma fila de backlog cheia pode deixar novos pacotes SYN sem resposta mesmo com as conexões existentes funcionando normalmente.
Como prevenir o ERR_CONNECTION_TIMED_OUT
Um descarte silencioso não produz nenhum log de erro no servidor, já que nada chegou a receber a requisição para registrá-la, o que torna esse tipo de falha fácil de passar despercebido sem verificações ativas. O monitoramento de porta e HTTP contínuo a partir de fora da rede detecta um host inacessível ou uma porta descartada silenciosamente assim que começa, e envia alertas por e-mail, SMS, chamada de voz, Slack, Telegram e mais antes que os visitantes reportem sozinhos.
Erros relacionados
- ERR_CONNECTION_REFUSED é uma rejeição rápida e explícita, em vez de silêncio.
- ERR_ADDRESS_UNREACHABLE significa que não existe nenhuma rota até o endereço, em vez de uma tentativa sem resposta numa rota válida.
- This site can't be reached cobre todo o conjunto de erros de conexão que o Chrome agrupa sob um único título.
Perguntas frequentes
Quanto tempo o Chrome espera antes de mostrar ERR_CONNECTION_TIMED_OUT?
Cerca de 30 segundos, embora o número exato possa variar conforme a plataforma e as condições de rede. Uma falha consistentemente rápida, bem abaixo desse tempo, é mais provavelmente uma conexão recusada do que um timeout.
Por que o site carrega no meu celular mas expira no meu notebook?
Isso geralmente aponta para algo específico do caminho de rede do notebook: um firewall corporativo, um cliente VPN, ou uma entrada de DNS em cache local apontando para um endereço inacessível.
Um problema de DNS pode causar ERR_CONNECTION_TIMED_OUT em vez de um erro de DNS?
Sim, se o DNS resolve com sucesso mas devolve um endereço IP em que nada está acessível, como um servidor antigo que já foi desativado. A busca funciona, mas a tentativa de conexão àquele endereço então expira.
O ERR_CONNECTION_TIMED_OUT é igual em todo navegador?
A causa por trás é a mesma, mas a redação muda: o Firefox mostra "The connection has timed out", e o Safari mostra "This webpage is unable to load" depois de uma espera parecida.
Um timeout sempre significa que o servidor está fora do ar?
Não. Significa que nada respondeu à tentativa de conexão, o que também pode significar que um firewall a descartou silenciosamente, uma rota está quebrada em algum ponto no meio do caminho, ou o DNS aponta para o endereço errado enquanto o servidor real está bem.
Por que o mesmo site expira para mim mas carrega para um colega na mesma rede do escritório?
Verifique se há um cliente VPN individual, uma entrada de DNS em cache local, ou uma configuração de proxy no nível do navegador que só a sua máquina tem; um problema compartilhado na rede geralmente afeta todo mundo igualmente, então uma diferença entre dois dispositivos na mesma rede aponta para algo específico de um deles.