---
title: "Como resolver err_connection_refused (conexão recusada)"
description: "err_connection_refused: o navegador chegou ao servidor, mas nada aceitou a conexão naquela porta. Soluções para visitantes, celular, localhost e código."
url: https://proxynet.io/pt-br/blog/err-connection-refused
date: 2026-10-06
author: "Acar Diveroli"
category: "Tutoriais"
lang: pt-BR
---

# Como resolver err_connection_refused (conexão recusada)

Você digita o endereço do seu roteador, abre uma pequena loja on-line ou inicia um projeto no próprio computador e acessa `localhost:3000`. Em vez da página, o Chrome mostra "Não é possível acessar esse site" (no Chrome em inglês, "This site can't be reached"), uma linha cinza como "A conexão com localhost foi recusada." e `ERR_CONNECTION_REFUSED` no final. Recarregar traz a mesma tela de volta, com a mesma rapidez.

Essa rapidez é uma pista: o navegador encontrou a máquina, e a máquina disse não. A seguir: o que a recusa significa e como ela difere de um tempo limite esgotado, as verificações para visitantes e celulares, o que mudar se o servidor for seu, por que o `localhost` recusa a conexão e o mesmo erro dentro de scripts que usam proxy.

> **Nota: Resposta rápida**
>
> `ERR_CONNECTION_REFUSED` significa que o seu navegador chegou ao servidor, mas nenhum programa estava aceitando conexões na porta que ele tentou, então o servidor o recusou. Verifique primeiro o endereço (`http` ou `https`, e qualquer número depois de dois-pontos) e depois tente abrir o site no celular pelos dados móveis. Se falhar em todo lugar, o servidor do site está fora do ar e só o responsável por ele pode resolver. Se falhar só no seu computador, verifique a VPN, o software de segurança e o arquivo hosts. No `localhost`, o servidor de desenvolvimento não está rodando, roda em outra porta ou escuta em outro endereço local.

## O que significa ERR_CONNECTION_REFUSED?

Todo servidor tem portas numeradas, e cada programa que roda nele espera atrás de uma delas. As páginas web usam a porta 443 para `https://` e a porta 80 para `http://`; um número depois de dois-pontos, como em `localhost:3000`, escolhe outra porta.

"Recusada" significa que a sua batida chegou à máquina, mas nenhum programa estava escutando atrás daquela porta. A máquina responde com um sinal curto de redefinição (RST), a resposta que o padrão TCP determina para uma requisição que não corresponde a nenhum programa à espera ([RFC 9293, seção 3.5.2](https://www.rfc-editor.org/rfc/rfc9293.html#section-3.5.2)).

Ou seja, o endereço está certo e a máquina está ligada; o programa está faltando ou fica atrás de outra porta. Por isso limpar o cache ou trocar o DNS não ajuda: a página nunca chegou, e o nome já tinha sido encontrado.

## Como uma recusa acontece, passo a passo?

1. O navegador transforma o nome do site em um endereço IP, o endereço numérico do servidor. Se isso falha, você vê um erro de DNS.
2. Ele escolhe a porta: 443, 80 ou o número depois dos dois-pontos.
3. Ele envia um pedido de "posso me conectar?" para esse endereço e essa porta.
4. O sistema operacional do servidor não encontra nenhum programa escutando nessa porta.
5. Ele devolve uma redefinição, em geral em milissegundos, e o navegador mostra que a conexão foi recusada.

Um firewall configurado para recusar conexões, em vez de ignorá-las, pode enviar a mesma resposta em nome do servidor.

## Como o erro aparece em cada navegador?

| Navegador | O que a tela diz | Código |
|---|---|---|
| Chrome, Edge, Brave, Opera | "Não é possível acessar esse site", "A conexão com example.com foi recusada." e uma lista **Tente:** com "Verificar a conexão" e "Verificar o proxy e o firewall" | `ERR_CONNECTION_REFUSED` |
| Firefox | "Não foi possível conectar" | Nenhum |

Apontamos o Chromium, o motor de código aberto por trás do Chrome, do Edge, do Brave e do Opera, para uma porta fechada e recebemos exatamente essas linhas. O título do Firefox vem dos próprios arquivos de texto da Mozilla. O Safari usa a própria redação; as verificações abaixo são as mesmas.

## Recusada, tempo esgotado ou redefinida: qual é o seu caso?

A mesma tela cinza traz vários códigos, e cada um aponta para uma etapa diferente. Aqui estão eles ao lado do erro de proxy com que costumam ser confundidos:

| Código | O que aconteceu | Causa comum | Primeiro passo |
|---|---|---|---|
| `ERR_CONNECTION_REFUSED` | A máquina respondeu: nada escuta ali | Serviço parado, porta errada ou `https` | Verifique o endereço |
| `ERR_CONNECTION_TIMED_OUT` | Nenhuma resposta | Servidor desligado, um firewall descartando o tráfego | Está fora do ar para todos? |
| `ERR_CONNECTION_RESET` | Uma conexão abriu e depois foi cortada | Software de segurança, VPN, filtro de rede | Tente outra rede |
| `ERR_PROXY_CONNECTION_FAILED` | A sua configuração de proxy não funciona | Um proxy esquecido ou parado | Remova ou corrija o proxy |

Uma recusa chega em poucos segundos, no máximo, enquanto um tempo limite esgotado faz você esperar bem mais. Todos os códigos dessa tela são explicados em [Não é possível acessar esse site: o que é e por que acontece](/pt-br/blog/this-site-cant-be-reached).

## Como resolver se você é visitante?

Recarregue depois de cada passo. Os dois primeiros mostram de quem é o problema.

1. **Verifique o endereço.** Se você digitou `https://` para um aparelho que só atende em `http://`, como um roteador ou uma impressora mais antigos, o navegador bate na porta 443, onde nada escuta; use o endereço da etiqueta do aparelho. Um número depois de dois-pontos precisa corresponder à porta que o serviço realmente usa, e um favorito antigo pode guardar uma porta que o site já abandonou. [O que é a porta 8080?](/pt-br/blog/port-8080) explica esses números.
2. **Tente abrir o site no celular com o Wi-Fi desligado.** Se ele também for recusado pelos dados móveis, o servidor do site parou ou está reiniciando, muitas vezes por manutenção. Espere; nada do seu lado vai mudar isso.
3. **Se só o computador falha, desligue a VPN** e recarregue. Uma VPN muda o caminho e o endereço que o site vê, e o servidor ou as regras dela podem ser a causa.
4. **Pause a proteção da web do seu software de segurança** para um teste e depois ative de novo. A dica do Chrome "Verificar o proxy e o firewall" aponta para isso. Se o site abrir, crie uma exceção para ele em vez de deixar a proteção desligada.
5. **Confira o arquivo hosts.** Esse pequeno arquivo de texto do Windows pode mandar o nome de um site para um endereço fixo, e alguns bloqueadores de anúncios e configurações antigas de desenvolvimento mandam sites para `127.0.0.1`, o seu próprio computador. Abra `C:\Windows\System32\drivers\etc\hosts` no Bloco de Notas: as linhas que começam com `#` são anotações, mas uma linha com o nome do site ao lado de `127.0.0.1` o manda para o seu computador, onde nada o atende. Editar o arquivo exige direitos de administrador.

Sites grandes raramente mostram esse erro. Eles ficam atrás de uma CDN, uma rede de servidores que responde primeiro aos visitantes, então um servidor com falha aparece como a página de erro da própria CDN; a Cloudflare chama a recusa do servidor do site de "error 521".

## Uma configuração de proxy pode causar ERR_CONNECTION_REFUSED?

No Chrome, raramente, e a tela diz qual é o seu caso. Um proxy é um servidor intermediário que encaminha o seu tráfego. Quando o Chrome não consegue alcançar o proxy configurado, ele mostra outra página: "Sem Internet", "Há algo errado com o servidor proxy, ou o endereço está incorreto." e `ERR_PROXY_CONNECTION_FAILED`. O Firefox diz "O servidor proxy está recusando conexões".

Testamos no Chromium: uma configuração de proxy apontando para uma porta fechada em `127.0.0.1` deu `ERR_PROXY_CONNECTION_FAILED`, enquanto abrir essa porta diretamente deu `ERR_CONNECTION_REFUSED`. Se você vê a página do proxy e nunca configurou um, algum programa ou uma VPN antiga deixou a configuração para trás; [Como remover um proxy do Chrome e do Windows](/pt-br/blog/remove-proxy-chrome-windows) mostra o passo a passo. Já em programas e scripts, um proxy que não está rodando aparece, sim, como "connection refused", com o endereço do proxy; a seção sobre scrapers trata disso.

## Por que o erro aparece no celular?

O Chrome no Android mostra a mesma página e o mesmo código; no iPhone, o Safari usa as próprias palavras. Situações comuns:

1. **Um endereço feito para um computador.** No celular, `localhost` e `127.0.0.1` são o próprio celular. Para testar um site que roda no seu computador, abra o endereço do computador na rede de casa, como `192.168.1.20:5173`, e inicie o servidor de desenvolvimento para que ele escute na rede (o Vite faz isso com `--host`). O firewall do computador precisa permitir a conexão.
2. **O emulador do Android.** Nele, `127.0.0.1` é o celular emulado e o seu computador é `10.0.2.2`, como diz o [guia de rede do emulador do Android](https://developer.android.com/studio/run/emulator-networking-address?hl=pt-br).
3. **Aparelhos de casa vistos de fora.** A página de um roteador ou de uma câmera só funciona no Wi-Fi de casa; pelos dados móveis você recebe uma recusa ou um tempo limite esgotado.
4. **Uma VPN, um bloqueador de anúncios ou um app de "segurança"** filtrando o tráfego do celular. Pause o app e recarregue.

## Se o site ou o servidor é seu: por que os visitantes são recusados?

Os visitantes são recusados quando a máquina está ligada, mas nenhum programa aceita conexões na porta que eles usam. Verifique nesta ordem:

- **O servidor web ou o app não está rodando.** Ele travou, não iniciou depois de uma atualização ou está reiniciando; os logs dizem por quê.
- **Ele escuta só no endereço local.** Um programa vinculado a `127.0.0.1` só aceita conexões da mesma máquina. Vincule-o ao endereço público ou a `0.0.0.0` (todos os endereços IPv4), ou coloque um servidor web público na frente.
- **Falta HTTPS na porta 443.** O site funciona em `http://`, mas os visitantes que pedem `https://` batem em uma porta fechada.
- **Uma regra de firewall recusa a porta.** Uma regra de rejeição (reject) envia uma resposta, que os visitantes costumam ver como recusa; uma regra de bloqueio (deny) descarta o tráfego em silêncio, e eles veem um tempo limite esgotado. O firewall `ufw` do Ubuntu tem os dois tipos.

O endereço de escuta é uma única linha na maioria dos programas. No Node.js:

```js
// Só esta máquina pode se conectar:
server.listen(3000, "127.0.0.1");

// Todos os endereços IPv4 da máquina aceitam conexões:
server.listen(3000, "0.0.0.0");
```

## Por que o localhost recusa a conexão?

`localhost` é o nome que o seu computador dá a si mesmo, com dois endereços: `127.0.0.1` (IPv4) e `::1` (IPv6). Uma recusa significa que nenhum programa estava escutando naquela porta no endereço tentado.

- **O servidor de desenvolvimento não está rodando.** Ele parou com um erro, ou o terminal dele foi fechado. Leia primeiro a saída do terminal.
- **Ele roda em outra porta.** Algumas ferramentas passam para a próxima porta livre quando a delas está ocupada. Abra exatamente o endereço que o servidor mostrou.
- **IPv4 e IPv6 não batem.** Um servidor pode escutar só em `::1` enquanto um cliente tenta `127.0.0.1`, ou o contrário. Os navegadores tentam os dois: no nosso teste com o Chromium, um servidor em `::1` abriu em `localhost`, mas foi recusado em `127.0.0.1`. A partir da versão 17, o Node.js pode resolver `localhost` primeiro como `::1` e, até as versões 18.18 e 20 ativarem `autoSelectFamily` por padrão ([documentação do módulo net do Node.js](https://nodejs.org/api/net.html), em inglês), tentava só esse endereço e falhava com `connect ECONNREFUSED ::1:3000`. Atualize o Node.js ou escreva `127.0.0.1` na URL do cliente.
- **Uma porta do Docker que nunca foi publicada.** O programa de um contêiner não pode ser acessado de fora do host até você publicar a porta dele: `docker run -p 8080:80` liga a porta 8080 do seu computador à porta 80 do contêiner ([guia de publicação de portas do Docker](https://docs.docker.com/engine/network/port-publishing/), em inglês). Dentro dele, o programa precisa escutar em `0.0.0.0`; lá, `127.0.0.1` é o próprio contêiner.

## Nível avançado: veja com um comando qual endereço recusou

Você pode pular esta seção. O `curl` vem no Windows 10, no Windows 11 e no macOS (no PowerShell, digite `curl.exe`), e `-v` mostra cada tentativa de conexão:

```bash
curl -v http://localhost:3000/
```

As linhas principais do nosso teste, sem nada na porta 3000 (curl 8.21.0, Windows 11):

```text
* IPv6: ::1
* IPv4: 127.0.0.1
*   Trying [::1]:3000...
*   Trying 127.0.0.1:3000...
* connect to ::1 port 3000 from :: port 54810 failed: Connection refused
* connect to 127.0.0.1 port 3000 from 0.0.0.0 port 54811 failed: Connection refused
curl: (7) Failed to connect to localhost:3000 after 2226 ms: Could not connect to server
```

- **Os dois endereços recusados:** nada escuta nessa porta. Inicie o servidor ou use a porta real dele.
- **Um recusado, depois "Established connection to localhost (127.0.0.1 port 3000)":** o servidor escuta só nesse endereço, e os clientes que tentam só o outro falham.
- **O curl espera e informa um tempo limite esgotado:** algo descarta o tráfego, em geral um firewall. Esse é outro erro.

## Se você escreve um scraper ou usa um proxy no código

No código, a mensagem diz qual endereço recusou, então mostra se quem disse não foi o proxy ou o destino. Foi isto que recebemos contra portas fechadas (o Windows escreve a mensagem no idioma do sistema; este é o texto em inglês):

| Ferramenta | O que ela mostra |
|---|---|
| Python no Windows | `ConnectionRefusedError: [WinError 10061] No connection could be made because the target machine actively refused it` |
| Python Requests 2.34, porta de proxy fechada | `ProxyError: ... (Caused by ProxyError('Unable to connect to proxy', NewConnectionError(...)))` |
| Node.js 24 `fetch` | `TypeError: fetch failed` com `[cause]: AggregateError [ECONNREFUSED]` |
| curl 8.21, porta de proxy fechada | `curl: (7) Failed to connect to example.com:443 over proxy 127.0.0.1 after 2031 ms` |

No Linux, o mesmo erro do Python aparece como `[Errno 111] Connection refused`, o "errno 111" que muita gente pesquisa. A [lista de códigos de erro do Windows Sockets](https://learn.microsoft.com/pt-br/windows/win32/winsock/windows-sockets-error-codes-2) da Microsoft descreve o 10061 como uma tentativa de conexão com um serviço que não está rodando na outra máquina.

As causas mais comuns:

- **Uma porta de proxy errada.** Copie o host e a porta do Gerador de endpoints. Se você usa os [Proxies HTTPS](https://proxynet.io/pt-br/https-proxy) e SOCKS5 na mesma conta, cada protocolo tem a própria porta. Dependendo do firewall do provedor, uma porta errada é recusada na hora ou dá tempo limite esgotado.
- **Uma ferramenta de proxy local que não está rodando.** Proxies de depuração e gerenciadores de proxy locais escutam em `127.0.0.1`, muitas vezes na porta 8080; enquanto estão fechados, recusam todas as requisições.
- **Uma variável de ambiente esquecida.** O Python Requests e o curl leem `HTTP_PROXY` e `HTTPS_PROXY`, então uma variável antiga manda as requisições para um proxy que não existe mais.

Este script mostra uma variável esquecida e diferencia uma recusa no proxy de uma falha depois dele. Se você envia as requisições pelos [Proxies residenciais](https://proxynet.io/pt-br/residential-proxy), coloque em `PROXY` o endereço do gateway mostrado no Gerador de endpoints:

```python
import requests
from requests.utils import get_environ_proxies

PROXY = "http://user:pass@pr.proxynet.io:8000"  # host e porta do Gerador de endpoints
URL = "https://example.com/"

# Uma variável HTTP_PROXY ou HTTPS_PROXY esquecida é uma causa oculta comum.
print("Proxy from environment variables:", get_environ_proxies(URL) or "none")

with requests.Session() as s:
    s.trust_env = False  # usa só o proxy abaixo, nunca uma variável esquecida
    s.proxies = {"http": PROXY, "https": PROXY}
    try:
        r = s.get(URL, timeout=15)
        print("Connected, HTTP status", r.status_code)
    except requests.exceptions.ProxyError as e:
        if "Tunnel connection failed" in str(e):
            print("The proxy answered but could not reach the site")
        else:
            print("The proxy refused the connection: check the host and the port")
```

Rodamos o script por um proxy de teste local com autenticação `user:pass` (Requests 2.34.2, Python 3.13): com uma variável `HTTPS_PROXY` esquecida, com uma porta de proxy errada e com um proxy funcionando e a porta do destino fechada:

```text
Proxy from environment variables: {'https': 'http://127.0.0.1:8080'}
Connected, HTTP status 200
Proxy from environment variables: none
The proxy refused the connection: check the host and the port
Proxy from environment variables: none
The proxy answered but could not reach the site
```

No terceiro caso, a porta do destino estava fechada. Verifique o endereço e a porta dele e não repita a requisição em um loop sem pausa: uma porta fechada continua fechada até o responsável iniciar o serviço. Tente mais tarde, com pausas cada vez maiores.

## Onde você pode encontrar esse erro

- A página de administração de um roteador, NAS, impressora ou câmera.
- Um site que você está construindo, no `localhost` ou no celular.
- Ferramentas auto-hospedadas depois de uma atualização ou reinício.
- Ferramentas de monitoramento que verificam um serviço enquanto ele reinicia.
- Scripts com a porta do proxy ou a porta do destino errada.

## Erros comuns

- **Limpar o cache, os cookies ou o DNS.** Nada disso está envolvido.
- **Desligar o firewall ou o antivírus de vez.** Pause um recurso para um teste.
- **Tratar `localhost` e `127.0.0.1` como a mesma coisa em todas as ferramentas.** Um servidor pode escutar em só um deles.
- **Repetir em um loop sem pausa.** Uma porta fechada não abre porque você pergunta de novo.
- **Reinstalar o navegador.** Todo navegador recebe a mesma resposta do mesmo servidor.

## Guia de decisão

| A sua situação | O que fazer |
|---|---|
| Recusado em todos os dispositivos e redes | O servidor do site está fora do ar; espere ou avise o responsável |
| Abre no celular, é recusado no computador | Desligue a VPN, pause a proteção da web, confira o arquivo hosts |
| A página de um roteador ou de uma impressora é recusada | Use o Wi-Fi de casa e o endereço da etiqueta |
| A página diz "Sem Internet" e fala do servidor proxy | É outro erro: corrija ou remova a configuração de proxy |
| O `localhost` é recusado | Inicie o servidor de desenvolvimento e abra o endereço que ele mostra |
| O seu script diz "Unable to connect to proxy" | Verifique o host e a porta do proxy e as variáveis de ambiente |

## Perguntas frequentes

### O ERR_CONNECTION_REFUSED é culpa minha ou do site?

Tente abrir o site pelos dados móveis. Se ele também for recusado ali, o servidor do site não está aceitando conexões e só o responsável pode resolver. Se abrir, verifique a VPN, o software de segurança e o arquivo hosts do seu computador.

### Por que o localhost recusa a conexão?

Nada no seu computador escuta naquela porta no endereço tentado: o servidor de desenvolvimento não está rodando, usa outra porta ou escuta em `::1` enquanto o cliente tenta `127.0.0.1`.

### O que significam errno 111 e WinError 10061?

Os dois são o número que o sistema dá a uma conexão recusada: 111 no Linux, 10061 no Windows. Nada escuta naquele endereço e naquela porta.

### Como resolver ERR_CONNECTION_REFUSED no Android?

Confira se você não abriu um endereço feito para outro aparelho, como `localhost` ou o roteador de casa enquanto usa dados móveis. Depois, pause qualquer VPN ou app de filtragem. Se todas as redes falharem, o problema é do site.

### Uma VPN ou um proxy pode causar ERR_CONNECTION_REFUSED?

Uma VPN pode, então teste com ela desligada. Uma configuração de proxy com defeito no Chrome mostra `ERR_PROXY_CONNECTION_FAILED` no lugar.

### Limpar o cache ou o DNS resolve?

Não. O endereço do servidor foi encontrado e o navegador foi recusado antes de qualquer página chegar. A exceção é o arquivo hosts, que pode mandar o nome de um site para o seu próprio computador.

## Em resumo

`ERR_CONNECTION_REFUSED` significa que a máquina do servidor respondeu, mas nada estava escutando naquela porta. Visitantes verificam o endereço e tentam outra rede; se a recusa acontece em todo lugar, quem precisa resolver é o site. Responsáveis por servidores procuram um serviço parado, um programa vinculado a `127.0.0.1` ou uma regra de firewall que recusa; desenvolvedores, um servidor de desenvolvimento parado, uma porta errada ou o desencontro com `::1`. No código, o endereço na mensagem mostra se quem recusou foi o proxy ou o destino. Quais tipos de proxy existem e para que serve cada um você encontra na [nossa página de proxies](/pt-br/proxy).
