---
title: "err_connection_reset: o que é e como resolver"
description: "err_connection_reset significa que um sinal de redefinição cortou uma conexão aberta. Veja quem cortou e como resolver no computador, no celular e no código."
url: https://proxynet.io/pt-br/blog/err-connection-reset
date: 2026-10-06
author: "Acar Diveroli"
category: "Tutoriais"
lang: pt-BR
---

# err_connection_reset: o que é e como resolver

Você está no meio de um pedido. Clica no botão, a aba gira por um segundo e o Chrome mostra "Não é possível acessar esse site", com "A conexão foi redefinida." logo abaixo e `ERR_CONNECTION_RESET` no final. O Firefox diz isso em uma linha: "A conexão foi reiniciada". Os outros sites abrem normalmente, e daqui a um minuto este talvez abra também.

A seguir: o que é uma redefinição, quem pode enviá-la, como descobrir de onde vem a sua, as soluções no computador e no celular, o que verificar se o site é seu e o mesmo erro no código, onde ele se chama "connection reset by peer", `ECONNRESET` ou `WinError 10054`.

> **Nota: Resposta rápida**
>
> `ERR_CONNECTION_RESET` significa que uma conexão com o site estava aberta e algo a encerrou de uma vez com um sinal de redefinição TCP (RST, do inglês "reset"). Quem envia pode ser o servidor do site, um software de segurança no seu computador, uma extensão do navegador, uma VPN ou um proxy, ou um filtro na rede, e o navegador não consegue saber qual deles. Recarregue uma vez e depois tente uma janela anônima, outro navegador e o celular pelos dados móveis; o lugar onde funcionar mostra de onde vem a redefinição. Se um site falha só em uma rede, um dispositivo dessa rede está cortando a conexão, e nenhuma configuração no seu computador muda isso.

## O que significa ERR_CONNECTION_RESET?

Antes de uma página carregar, o seu navegador e o servidor do site abrem uma conexão, uma linha de mão dupla que fica aberta enquanto os dados vão e voltam. Uma redefinição encerra essa linha no meio do caminho. A [lista de erros de rede](https://chromium.googlesource.com/chromium/src/+/HEAD/net/base/net_error_list.h) do Chromium descreve o código -101 como uma conexão que "foi redefinida (correspondendo a um TCP RST)". Chrome, Edge, Brave e Opera compartilham essa lista e, por isso, mostram o mesmo código.

A diferença em relação aos vizinhos é o momento. Com `ERR_CONNECTION_REFUSED`, a linha nunca foi aberta; com `ERR_CONNECTION_TIMED_OUT`, nada respondeu. Uma redefinição chega depois que a linha já estava funcionando. Os outros códigos dessa tela cinza são comparados em [Não é possível acessar esse site: o que é e por que acontece](/pt-br/blog/this-site-cant-be-reached).

## Como uma conexão é redefinida?

O TCP, o protocolo que transporta as páginas da web, pode encerrar uma conexão de duas formas: com um fechamento educado, que primeiro termina de enviar, ou com uma redefinição, que para tudo na hora. A [RFC 9293, seção 3.5.2](https://www.rfc-editor.org/rfc/rfc9293.html#section-3.5.2) permite que um programa emita uma redefinição a qualquer momento, e o próprio TCP envia uma quando chega um pacote de uma conexão que a máquina já não conhece.

1. O seu navegador abre uma conexão e, em sites `https://`, configura a criptografia (TLS).
2. Ele envia a requisição e começa a ler a resposta.
3. Em algum ponto do caminho, um programa decide que a conexão precisa terminar, ou uma máquina recebe um pacote de uma conexão que ela esqueceu. Ela envia uma redefinição.
4. O seu computador descarta a conexão no instante em que a redefinição chega, e o Chrome mostra o erro.

Uma redefinição não traz nenhum motivo e parece ter sido enviada pelo site, mas um dispositivo no meio do caminho pode enviá-la em nome do site. Pesquisadores do ICSI e da UC Berkeley documentaram [redefinições TCP forjadas](https://www.icir.org/vern/papers/reset-injection.ndss09.pdf) vindas de produtos de controle de tráfego usados por provedores de internet, sistemas antivírus e filtros nacionais. O navegador consegue dizer "redefinida", nunca "redefinida por quem".

## Quem pode enviar a redefinição?

| Quem | Por quê | Sinal típico | Primeiro passo |
|---|---|---|---|
| O servidor do site | Reinício, falha, limite de conexões | Falha para todos, vai e volta | Recarregue mais tarde |
| Software de segurança | "Proteção da web" ou "verificação de HTTPS" | Todos os navegadores de um computador | Pause a proteção da web para um teste |
| Uma extensão do navegador | Complemento de VPN, proxy ou bloqueio de anúncios | Um navegador; a janela anônima funciona | Desative as extensões |
| Uma VPN ou um proxy | Túnel caiu, conexões ociosas fechadas | Só enquanto está ligado | Desligue |
| Um filtro de rede | Uma regra do trabalho, da escola ou do provedor | Um site, todos os dispositivos de uma rede | Pergunte ao administrador |
| Roteador ou linha | Falha breve | Vários sites por alguns minutos | Reinicie o roteador |
| Balanceador de carga na frente do site | Tempo limite de inatividade, regra de proteção | Páginas abertas por muito tempo, uploads grandes | As configurações do responsável pelo site |

Uma configuração errada de MTU, o maior tamanho de pacote que um enlace transporta, também costuma levar a culpa, mas normalmente ela faz as páginas travarem em vez de serem redefinidas: pacotes grandes demais somem sem nenhum sinal.

## O problema é do site, do seu dispositivo ou da rede?

Cinco verificações, da mais rápida para a mais lenta. Pare na primeira que mudar o resultado.

1. **Recarregue uma vez.** Uma redefinição isolada depois de um reinício do servidor ou de uma troca de Wi-Fi se resolve sozinha.
2. **Tente outro navegador.** Se o Firefox abre o que o Chrome não consegue, a causa está dentro do Chrome: uma extensão ou uma configuração. Uma redefinição em todos os navegadores aponta para algo que o computador inteiro compartilha.
3. **Abra o site no celular com o Wi-Fi desligado.** Se ele carregar pelos dados móveis, o site está no ar e o problema é a sua rede ou o seu computador. Se não, o problema é do site.
4. **Tente outro dispositivo no mesmo Wi-Fi.** Se funcionar nele, olhe para o primeiro computador: software de segurança, uma VPN, uma configuração de proxy.
5. **Todos os dispositivos deste Wi-Fi falham neste site.** O corte acontece no caminho: o roteador, o provedor ou um filtro.

## Como resolver ERR_CONNECTION_RESET no computador?

Recarregue depois de cada passo.

1. **Descarte as extensões.** No Chrome, selecione **Mais > Nova janela anônima**. As extensões só funcionam ali se você ativou **Permitir em navegação anônima** para elas, então uma página que abre nessa janela aponta para uma extensão. Vá em **Mais > Extensões > Gerenciar extensões** e desative uma de cada vez, começando pelos complementos de VPN e proxy. No Firefox, **Ajuda > Modo de solução de problemas…** abre o navegador com os complementos desativados.
2. **Desligue o aplicativo de VPN ou de proxy.** Depois procure um proxy que você nunca configurou: no Windows 11, abra **Configurações > Rede e Internet > Proxy** e, em **Configuração manual de proxy**, selecione **Configurar** ao lado de **Usar um servidor proxy**. Se ele estiver ativado e não foi você quem ativou, desative e selecione **Salvar**. O Chrome abre a mesma página em **Configurações > Sistema > Abre as configurações de proxy do computador**. A configuração do próprio Firefox deve estar em **Sem proxy** ou **Usar as configurações de proxy do sistema**, a não ser que você tenha escolhido um proxy de propósito.
3. **Teste o seu software de segurança.** Pause só a "proteção da web" ou a "verificação de HTTPS" por um minuto. Se o site abrir, ative a proteção de novo, atualize o programa e adicione o site às exceções dele. Não desligue o firewall.
4. **Reinicie o roteador.** Tire-o da tomada por 30 segundos; não aperte o botão de reset do furinho, que restaura as configurações de fábrica.
5. **Redefina as configurações de rede, por último.** Só quando todos os sites são redefinidos neste computador e os outros dispositivos do Wi-Fi funcionam: **Configurações > Rede e Internet > Configurações de rede avançadas > Redefinição de rede**, depois **Redefinir agora** e **Sim**. Talvez seja preciso configurar o software de VPN de novo depois disso.

A lista **Tente:** da tela de erro do Chrome aponta na mesma direção: "Verificar o proxy e o firewall" e "Executar o Diagnóstico de Rede do Windows".

### No Android e no iPhone

- **Troca de rede.** Um celular que passa do Wi-Fi para os dados móveis derruba as conexões abertas; recarregue depois de alguns segundos.
- **Apps de VPN e de bloqueio de anúncios.** Muitos passam o tráfego por um perfil de VPN e redefinem as conexões quando falham. No Android, abra **Configurações > Rede e Internet > VPN** e desligue a VPN; **VPN sempre ativa** mantém uma rodando em segundo plano. No iPhone, os perfis instalados ficam em **Ajustes > Geral > Gerenciamento de VPN e Dispositivos**; não mexa nos perfis do trabalho ou da escola.
- **Wi-Fi de cafés e hotéis.** Essas redes podem cortar conexões até você entrar na página de login delas.

## Por que só um site redefine a conexão?

Se um site falha em todos os dispositivos da sua rede, mas abre pelos dados móveis, o remetente provável é um filtro na rede. Em sites `https://`, o conteúdo é criptografado, mas o nome do site viaja legível no início da conexão. Um filtro que inspeciona o tráfego, um método chamado inspeção profunda de pacotes (DPI), pode comparar esse nome com uma lista e enviar uma redefinição em nome do site. [O que é inspeção profunda de pacotes (DPI) e como funciona?](/pt-br/blog/what-is-deep-packet-inspection) explica como essa inspeção funciona.

Esses filtros rodam em redes de empresas e escolas, em roteadores com controle parental e em provedores de internet quando um bloqueio é determinado por lei. Em uma rede de trabalho ou de escola, pergunte ao administrador. Se o bloqueio está no seu provedor, nada no seu dispositivo resolve, e este guia não trata de formas de contorná-lo.

O outro caso de um só site é o próprio site, cuja proteção pode redefinir um endereço que abre conexões demais ao mesmo tempo. Espere alguns minutos ou envie ao suporte do site o horário e o código exato.

## Avançado: teste a conexão fora do navegador

Você pode pular esta seção. Um comando no PowerShell, no Windows 10 ou 11, mostra se a redefinição depende do navegador:

```powershell
curl.exe -sS -o NUL https://example.com/
```

Coloque o endereço que está falhando no lugar de `example.com`. O curl não usa extensões nem configurações do navegador. Contra um servidor de teste local que envia uma redefinição, uma vez durante a configuração da conexão segura e outra depois da requisição, o curl 8.21.0 no Windows 11 mostrou:

```text
curl: (35) Recv failure: Connection was reset
curl: (56) Recv failure: Connection was reset
```

Nenhuma saída significa que o curl carregou a página, então a causa está dentro do navegador. Uma linha `Connection was reset` significa que algo fora dele cortou a conexão: software de segurança, uma VPN, a rede ou o site.

## Se o site é seu: de onde vêm as redefinições?

Os visitantes podem ver redefinições que nunca aparecem nos logs da sua aplicação. Olhe para as camadas em volta dela:

- **Reinícios sem drenar as conexões.** Um deploy que mata o processo do servidor redefine todas as conexões abertas. Pare de aceitar conexões novas primeiro e deixe as requisições em andamento terminarem.
- **Tempos limite de inatividade que não batem.** A AWS documenta que o Network Load Balancer dela descarta fluxos TCP ociosos depois de 350 segundos por padrão e responde com uma redefinição aos dados que chegarem depois. Para o Application Load Balancer, ela recomenda que a aplicação tenha um tempo limite de inatividade maior que o do balanceador.
- **Regras de proteção.** Firewalls, filtros de DDoS e limites de conexão muitas vezes redefinem em vez de responder. Procure nos logs deles o endereço do visitante e o horário.

## Se você vê "connection reset by peer" no código

"Peer" é a outra ponta da conexão e, como no navegador, pode ser um dispositivo no caminho. Cada ferramenta dá um nome diferente ao evento. Provocamos os casos do Windows e do Node.js no Windows 11, contra um servidor local que envia uma redefinição:

| Onde | O que você vê |
|---|---|
| Python no Linux | `ConnectionResetError: [Errno 104] Connection reset by peer` |
| Python no Windows | `ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host` |
| Python Requests | `requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionResetError(10054, ...))` |
| Requests, cortado no meio do download | `requests.exceptions.ChunkedEncodingError: ("Connection broken: ConnectionResetError(10054, ...)", ...)` |
| Node.js `http` | `Error: read ECONNRESET` |
| Node.js, fechado antes de uma resposta | `Error: socket hang up` (código `ECONNRESET`) |
| Node.js `fetch` | `TypeError: fetch failed`, `cause.code` é `ECONNRESET` |

O Windows imprime a parte dele no idioma de exibição do sistema; o texto em inglês vem da [lista de erros do Winsock](https://learn.microsoft.com/pt-br/windows/win32/winsock/windows-sockets-error-codes-2) da Microsoft, que aponta as causas do 10054: o programa remoto parou, o host foi reiniciado ou o outro lado usou um fechamento forçado ("hard close"). A linha do Linux é o texto padrão desse sistema para o erro 104.

As causas comuns no código:

- **Uma conexão reutilizada que o servidor acabou de fechar.** Os clientes mantêm conexões abertas entre requisições (keep-alive). Se o servidor fecha uma conexão ociosa no momento em que você envia por ela, você recebe uma redefinição. A documentação do Node sobre [`request.reusedSocket`](https://nodejs.org/api/http.html#requestreusedsocket) descreve essa condição de corrida e sugere tentar de novo exatamente nesse caso.
- **Conexões demais ao mesmo tempo.** Um servidor ou o firewall dele pode cortar um cliente que abre dezenas em paralelo. Reduza a concorrência, respeite `429` e `Retry-After` e use a API do site, quando houver. Trocar de endereço IP para passar por cima de um limite não é solução.
- **O handshake TLS.** Uma redefinição nesse ponto pode significar que o servidor ou um filtro recusou o que o cliente ofereceu, como uma versão antiga de TLS; atualize primeiro a biblioteca do cliente.
- **Um proxy no meio.** Um proxy fecha túneis ociosos e repassa as redefinições do site. Nos nossos testes, o Requests rotulou uma dessas redefinições como `ProxyError('Unable to connect to proxy', ConnectionResetError(...))`, embora quem a enviou tenha sido o site; quando o proxy fechou o nosso lado de forma normal, o Python informou `RemoteDisconnected` ou, durante o handshake, `SSLEOFError`. Envie a requisição uma vez com e uma vez sem o proxy para ver qual trecho corta. [Max Retries Exceeded With URL: o que é e como resolver](/pt-br/blog/max-retries-exceeded-with-url) mostra como ler a cadeia de erros inteira.

### Tentar de novo com espera crescente, só quando é seguro

Uma redefinição não diz se o servidor já executou a sua requisição. Repita automaticamente só as requisições que podem ser repetidas com segurança, como `GET`, espere mais a cada vez e pare depois de poucas tentativas:

```python
"""Faz GET em uma URL por um proxy e repete as redefinições de conexão com espera exponencial."""
import random
import time

import requests

PROXY = "http://user:pass@pr.proxynet.io:8000"
PROXIES = {"http": PROXY, "https": PROXY}

def was_reset(exc):
    """True se houver um ConnectionResetError em qualquer camada da exceção."""
    stack, seen = [exc], set()
    while stack:
        e = stack.pop()
        if id(e) in seen:
            continue
        seen.add(id(e))
        if isinstance(e, ConnectionResetError):  # RemoteDisconnected é uma subclasse
            return True
        inner = (*e.args, e.__cause__, e.__context__, getattr(e, "reason", None))
        stack.extend(x for x in inner if isinstance(x, BaseException))
    return False

def get_with_retry(session, url, attempts=4, base=1.0, cap=30.0):
    """GET pode ser repetido com segurança; espera cerca de 1, 2, 4 s (mais jitter) entre as tentativas."""
    for attempt in range(1, attempts + 1):
        try:
            return session.get(url, proxies=PROXIES, timeout=(5, 30))
        except (requests.exceptions.ConnectionError, requests.exceptions.ChunkedEncodingError) as exc:
            if not was_reset(exc) or attempt == attempts:
                raise
            delay = min(cap, base * 2 ** (attempt - 1)) + random.uniform(0, base / 2)
            print(f"attempt {attempt}: connection reset, retrying in {delay:.1f} s")
            time.sleep(delay)

if __name__ == "__main__":
    with requests.Session() as s:
        s.headers["User-Agent"] = "example-crawler/1.0 (+https://example.com/bot)"
        r = get_with_retry(s, "https://example.com/")
        print(r.status_code, len(r.content), "bytes")
```

- O script só repete redefinições; uma senha errada, uma porta recusada ou um erro de certificado é lançado na hora. O Requests esconde a redefinição duas ou três camadas abaixo, daí a busca. `RemoteDisconnected` ("Remote end closed connection without response") é uma subclasse de `ConnectionResetError`, então também conta.
- A espera dobra a cada vez, mais uma parte aleatória (jitter) para que processos em paralelo não repitam no mesmo ritmo, e cada tentativa abre uma conexão nova.

Rodamos o script com Python 3.13 e Requests 2.34.2 por um proxy de teste local com autenticação `user:pass`, contra um servidor de teste que redefine as duas primeiras conexões:

```text
attempt 1: connection reset, retrying in 1.2 s
attempt 2: connection reset, retrying in 2.3 s
200 3 bytes
```

Contra um servidor que redefine sempre, ele desistiu depois de quatro tentativas com o `ProxyError` acima. Com os [Proxies residenciais](https://proxynet.io/pt-br/residential-proxy) no modo rotativo, cada nova tentativa abre uma conexão nova e pode sair por um endereço IP novo. Para uma sessão logada que precisa manter um único endereço, use uma sessão fixa (de 1 a 60 minutos) e mantenha as tentativas dentro dela.

## Onde as pessoas encontram esse erro

- Páginas de lojas e bancos que param na etapa de pagamento em uma rede de empresa ou escola.
- Uploads grandes que param no mesmo ponto toda vez.
- Tarefas de scraping, monitoramento e API que rodam por horas atrás de proxies e balanceadores de carga.

## Erros comuns

- **Limpar o cache e os cookies.** A página nunca chegou, então nada antigo causou o erro.
- **Desligar o firewall ou o antivírus de vez.** Pause um recurso para um teste.
- **Repetir um pagamento ou o envio de um formulário no código.** O servidor pode ter processado o pedido antes da redefinição.
- **Subir o número de tentativas para 20.** Uma redefinição que acontece toda vez é uma decisão, não azar.

## Guia de decisão

| Situação | O que fazer |
|---|---|
| Uma redefinição, depois a página funciona | Nada; foi algo passageiro |
| Só o Chrome falha, a janela anônima funciona | Desative as extensões uma de cada vez |
| Todos os navegadores de um computador falham | Verifique a VPN, a configuração de proxy e a proteção da web |
| Todos os dispositivos do seu Wi-Fi falham em um site | Um filtro ou o provedor; pergunte ao administrador |
| Todas as redes falham nesse site | O problema é do site; espere ou entre em contato com ele |
| O seu próprio site redefine visitantes | Verifique reinícios, tempos limite de inatividade e logs do firewall |
| O seu script recebe `Errno 104`, `10054` ou `ECONNRESET` de vez em quando | Repita requisições seguras com espera crescente e reduza a concorrência |

## Perguntas frequentes

### O ERR_CONNECTION_RESET é problema meu ou do site?

Pode ser dos dois. Abra o site no celular pelos dados móveis: se carregar, o problema é a sua rede ou o seu computador; se falhar em todo lugar, é do site.

### Por que o ERR_CONNECTION_RESET aparece em todos os navegadores?

A causa é algo que todos compartilham: software de segurança, uma VPN, a configuração de proxy do sistema, o roteador ou um filtro de rede. Extensões e configurações do navegador estão descartadas.

### Limpar o cache resolve o ERR_CONNECTION_RESET?

Raramente. A conexão foi cortada antes de a página chegar, então o cache não guarda nada que tenha causado o erro.

### Qual é a diferença entre uma redefinição e "encerrou a conexão inesperadamente"?

Uma redefinição (`ERR_CONNECTION_RESET`) encerra a conexão na hora. "Encerrou a conexão inesperadamente" (`ERR_CONNECTION_CLOSED`) significa que o outro lado fechou a conexão do jeito normal, mas antes de a página estar completa. Os dois são verificados do mesmo jeito.

### O que significa "connection reset by peer"?

A outra ponta da conexão, o peer, enviou uma redefinição. O Linux informa isso como erro 104, o Windows como 10054 e o Node.js como `ECONNRESET`. O peer pode ser o servidor ou qualquer dispositivo no meio do caminho.

### Como resolver ECONNRESET ou "socket hang up" no Node.js?

Os dois significam que a conexão foi cortada; "socket hang up", além disso, antes de qualquer resposta chegar. Repita requisições idempotentes, ou seja, as que podem ser repetidas sem efeito colateral, em uma conexão nova, principalmente quando `req.reusedSocket` for true, e reduza a concorrência.

## Em resumo

`ERR_CONNECTION_RESET` e "connection reset by peer" dão nome ao mesmo evento: uma conexão aberta encerrada por um sinal de redefinição vindo do site, do seu computador, de uma VPN ou de um proxy, ou da rede no meio do caminho. Encontre o remetente mudando uma coisa de cada vez: navegador, janela anônima, dispositivo, rede. Um bloqueio na rede não é algo que o seu dispositivo possa mudar. No código, repita só requisições seguras, com pausas crescentes e uma conexão nova. Se você usa proxies para esse tipo de trabalho, [nossa página de proxies](/pt-br/proxy) explica quais tipos existem e para que serve cada um.
