ERR_CONNECTION_REFUSED: «ha rechazado la conexión», solución

Punto clave

ERR_CONNECTION_REFUSED (error -102 de Chrome) significa que tu navegador encontró la dirección IP del sitio, pero la máquina que está ahí, o un firewall delante de ella, rechazó la conexión, normalmente porque nada aceptaba conexiones en ese puerto. El rechazo llega al instante, a diferencia de un timeout. Primero averigua de quién es el problema: si el sitio también falla con datos móviles y desde un comprobador externo, el sitio está caído. Si no, revisa tu VPN, el software de seguridad, el archivo hosts y el router. En localhost, tu servidor de desarrollo no está escuchando en ese puerto.

Compruébelo ahora

Guía para corregir ERR_CONNECTION_REFUSED: la pantalla de Chrome «rechazó la conexión» y las cuatro soluciones más rápidas
Guía para corregir ERR_CONNECTION_REFUSED: la pantalla de Chrome «rechazó la conexión» y las cuatro soluciones más rápidas
Empiece a leer
  1. ¿Qué es ERR_CONNECTION_REFUSED?
  2. Cómo se ve en otros navegadores y apps
  3. Causas comunes de ERR_CONNECTION_REFUSED
  4. ¿Un sitio, todos los sitios o todos los navegadores?
  5. Solución 1: comprueba si el sitio está caído para todos
  6. Solución 2: reinicia tu router y tu dispositivo
  7. Solución 3: borra las redirecciones y reglas HTTPS que Chrome recuerda
  8. Solución 4: revisa tu configuración de proxy
  9. Solución 5: vacía tu caché DNS
  10. Solución 6: cambia a un servidor DNS público
  11. Solución 7: desactiva temporalmente VPN, antivirus y firewall
  12. Solución 8: prueba las extensiones en modo incógnito
  13. Solución 9: revisa tu archivo hosts
  14. Solución 10: en Android o iPhone
  15. Localhost rechazó la conexión (para desarrolladores)
  16. «Ha rechazado la conexión» dentro de una página incrustada
  17. Para propietarios de sitios web: tu sitio rechaza conexiones
  18. Cómo verificar que la solución funcionó
  19. Preguntas frecuentes

¿Qué es ERR_CONNECTION_REFUSED?

ERR_CONNECTION_REFUSED significa que tu navegador encontró la dirección IP del sitio web, pero la máquina que está en esa dirección rechazó la conexión. Chrome muestra «No se puede acceder a este sitio web» con «La página example.com ha rechazado la conexión.» y el código ERR_CONNECTION_REFUSED, el error -102 de la lista de Chromium (net_error_list.h).

Tu dispositivo envió una solicitud de conexión TCP a la dirección IP y al puerto del servidor (443 para HTTPS, 80 para HTTP) y recibió un rechazo al instante, ya sea un TCP reset o un mensaje de «puerto inalcanzable» de un firewall: ningún programa aceptaba conexiones en ese puerto, o un firewall rechazó la solicitud. El DNS funcionó; la conexión no.

Dicho de otro modo, es una respuesta, no silencio. Si no contesta nadie, Chrome espera y muestra ERR_CONNECTION_TIMED_OUT. Si la conexión se abre y luego se corta, es ERR_CONNECTION_RESET; si el servidor cuelga antes de enviar la página, ERR_CONNECTION_CLOSED.

¿Te rechaza solo a ti o a todos? Compruébalo

Cómo se ve en otros navegadores y apps

Una conexión rechazada es el mismo suceso en todas partes; solo cambia la redacción. Los navegadores basados en Chromium (Chrome, Edge, Brave, Opera) muestran el código ERR_CONNECTION_REFUSED, y las apps informan del error propio del sistema operativo:

DóndeQué ves
Chrome, Brave, OperaNo se puede acceder a este sitio web · La página example.com ha rechazado la conexión. · ERR_CONNECTION_REFUSED
Microsoft EdgeTítulo de Edge (en inglés, «Hmmm… can't reach this page») · La página example.com ha rechazado la conexión. · ERR_CONNECTION_REFUSED
FirefoxTítulo en inglés, «Unable to connect» · Firefox no puede conectarse al servidor example.com
SafariSafari no puede conectarse al servidor
Consola de DevTools, apps WebView de Androidnet::ERR_CONNECTION_REFUSED
Apps de WindowsError 10061 (WSAECONNREFUSED): «No connection could be made because the target machine actively refused it»
Linux y macOS (ssh, nc, scripts)«Connection refused» (ECONNREFUSED: error 111 en Linux, 61 en macOS)
curlcurl: (7) Failed to connect to example.com port 443 after 2 ms: Couldn't connect to server
Node.jsconnect ECONNREFUSED 127.0.0.1:3000

Las soluciones de abajo valen sea cual sea la redacción: algo en esa dirección y ese puerto dijo que no.

Causas comunes de ERR_CONNECTION_REFUSED

Las causas, desde el lado del sitio web hasta el tuyo:

  • El servidor del sitio web está caído — el servidor web (nginx, Apache, Node.js) se bloqueó, se está reiniciando o lo han detenido. La máquina está en línea, pero nada responde en el puerto 80 o 443.
  • Un firewall configurado para rechazar — un firewall del servidor, de tu red o de tu dispositivo que rechaza (en lugar de descartar sin avisar) las conexiones a ese puerto.
  • El sitio bloquea tu red — algunos sitios rechazan rangos enteros de direcciones, como los servidores de salida de una VPN o un país.
  • Software de seguridad o una VPN — un escudo web del antivirus o una VPN que enruta tu tráfico a través de sí misma y rechaza la conexión. (Un firewall de tu propio dispositivo que bloquea Chrome muestra otra página, «Tu acceso a Internet está bloqueado», ERR_NETWORK_ACCESS_DENIED.)
  • La dirección IP equivocada — una caché DNS obsoleta o una entrada del archivo hosts te envía a un servidor antiguo, o a tu propio ordenador (127.0.0.1), donde no escucha nada.
  • Una redirección o regla HTTPS recordada — Chrome guardó una redirección, o la regla HSTS del sitio, y sigue enviándote a un puerto que el sitio ya no atiende.
  • Nada escuchando en localhost — para desarrolladores: el servidor local no está en ejecución, se bloqueó o está en un puerto o dirección distintos de los que abriste.

¿Un sitio, todos los sitios o todos los navegadores?

Dónde aparece el error te dice dónde mirar, antes de cambiar nada:

Qué fallaCausa más probableEmpieza por
Un sitio, en todas las redes (Wi-Fi y datos móviles)El sitio está caído o rechaza a todosSolución 1, y luego esperar o avisar al propietario del sitio
Un sitio, solo en tu Wi-Fi o en la red de la oficinaEl firewall de esa red, o el sitio bloquea su direcciónDatos móviles, Solución 2, el administrador de la red
Un sitio, solo en tu ordenadorTu archivo hosts, la caché DNS o una redirección recordadaSoluciones 3, 5 y 9
Todos los sitios, en todos los navegadoresSoftware de seguridad, una VPN o el routerSoluciones 2 y 7
localhost o 127.0.0.1Tu servidor de desarrollo no está escuchando ahíLa sección de localhost de más abajo

«En todos los navegadores» importa: Edge, Firefox y Safari no comparten la caché ni las extensiones de Chrome, así que un rechazo en todos ellos apunta por debajo del navegador: a tu dispositivo, a tu red o al propio sitio.

Solución 1: comprueba si el sitio está caído para todos

Antes de cambiar nada en tu dispositivo, averigua si el sitio rechaza a todo el mundo. Si es así, ninguna solución de tu lado servirá.

La prueba más rápida es otro camino de red: abre el sitio en el teléfono con datos móviles (Wi-Fi apagado). Después prueba el servidor desde fuera con estas herramientas de DNS Robot:

  • Verificador de páginas caídas — abre el sitio desde 11 lugares y desde tu propio navegador. Si está caído en todas partes, es el sitio; si funciona en todas partes menos para ti, el problema está de tu lado.
  • Verificador de puertos — introduce el sitio con el puerto 443 (o example.com:443). Cerrado significa que el servidor también rechazó nuestra conexión; abierto, que acepta conexiones y el rechazo es solo tuyo.
  • Test de Ping — se conecta al sitio por el puerto 443 desde 11 ciudades, además de un ping clásico desde una. Si lo rechazan desde todas las ciudades, la máquina está encendida pero nada escucha en ese puerto; que el ping clásico no responda no demuestra nada, porque muchos servidores lo ignoran.

Solución 2: reinicia tu router y tu dispositivo

La primera sugerencia de Chrome, «Comprobar la conexión», dice que reinicies «los routers, módems u otros dispositivos de red» que uses. Así se borra todo el estado acumulado en el router, incluida su caché DNS.

Desenchufa tu router (y el módem, si es aparte), espera 30 segundos, vuelve a enchufarlo y dale 2–3 minutos para que se reconecte del todo. Reinicia también el ordenador o el teléfono para restablecer su pila de red y prueba el sitio de nuevo.

Solución 3: borra las redirecciones y reglas HTTPS que Chrome recuerda

Chrome recuerda las redirecciones permanentes y la regla HSTS de cada sitio («usar siempre HTTPS»). Si el sitio se ha mudado, o dejó de servir HTTPS en el puerto 443, Chrome sigue enviándote a una dirección o puerto donde no escucha nada.

  • Abre Chrome → menú de tres puntos → Borrar datos de navegación
  • Intervalo de tiempo → Desde siempre, marca Archivos e imágenes en caché (las cookies pueden quedarse)
  • Haz clic en Eliminar datos (o en Eliminar de este dispositivo si no has iniciado sesión en Chrome) y prueba el sitio de nuevo
  • ¿Sigue rechazado? Abre chrome://net-internals/#hsts, escribe el dominio en Delete domain security policies y haz clic en Delete. Solo sirve para reglas que el propio sitio estableció, no para dominios incluidos en la lista de precarga HSTS de Chrome.

Un cambio de 2026: Chrome 154 (octubre de 2026) activa por defecto «Usar siempre conexiones seguras», de modo que Chrome te pide permiso antes de la primera visita a un sitio público sin HTTPS en lugar de probarlo en silencio (Google Security Blog).

Solución 4: revisa tu configuración de proxy

La página de error de Chrome menciona el proxy, así que revísalo, pero sabiendo qué esperar. Cuando Chrome no puede alcanzar un servidor proxy, muestra una página con el título «Sin conexión a Internet» y ERR_PROXY_CONNECTION_FAILED («Se ha producido un error con el servidor proxy o la dirección es incorrecta») en lugar de ERR_CONNECTION_REFUSED. Si ves esa página, esta es tu solución.

Windows: Configuración → Red e Internet → Proxy. En Configuración manual del proxy, haz clic en Editar junto a «Usar un servidor proxy», desactívalo y haz clic en Guardar. Desactiva también «Usar script de configuración» si no reconoces la dirección. Deja activado «Detectar automáticamente la configuración», salvo que sepas que tu red no lo usa.

macOS: Ajustes del Sistema → Red → Wi-Fi → Detalles → Proxies. Desactiva todos los proxies que no haya configurado tu organización y haz clic en OK.

Chrome usa la configuración de proxy del sistema, y Firefox también por defecto («Usar la configuración del proxy del sistema»), así que un solo proxy obsoleto estropea todos los navegadores a la vez. En un dispositivo de la escuela o del trabajo, el proxy lo fija el administrador y no puedes cambiarlo.

Solución 5: vacía tu caché DNS

Si el sitio se mudó a un servidor nuevo, una respuesta DNS en caché puede seguir apuntando a la IP antigua, donde ya no escucha nada. Al vaciar la caché, tu dispositivo busca la dirección actual.

bash
# Windows (Command Prompt as Administrator)
ipconfig /flushdns

# macOS
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

# Linux (systemd-resolved)
sudo resolvectl flush-caches

# Also clear Chrome's internal DNS cache:
# chrome://net-internals/#dns → Clear host cache

Después de vaciarla, borra también la caché DNS propia de Chrome en chrome://net-internals/#dns y vacía los grupos de sockets en chrome://net-internals/#sockets: Chrome mantiene ambos por separado del sistema operativo. Para el tutorial completo, consulta nuestra guía sobre cómo vaciar la caché DNS en cada sistema operativo.

Para ver la dirección que tu ordenador usa de verdad (con el archivo hosts y la caché incluidos), ejecuta ping example.com, o Resolve-DnsName example.com en PowerShell, y compárala con la Consulta DNS. No uses nslookup para esto: pregunta directamente al servidor DNS y se salta ambos.

Solución 6: cambia a un servidor DNS público

Si el resolver de tu proveedor sigue dando una dirección antigua después de vaciar la caché, cambia a un resolver público para obtener una respuesta nueva.

ProveedorDNS PrimarioDNS SecundarioIdeal para
Cloudflare1.1.1.11.0.0.1Velocidad y privacidad
Google Public DNS8.8.8.88.8.4.4Fiabilidad
Quad99.9.9.9149.112.112.112Bloqueo de malware
OpenDNS208.67.222.222208.67.220.220Filtrado de contenido

Windows: Configuración → Red e Internet → Wi-Fi → «Administrar redes conocidas» → tu red (Ethernet → tu red) → Editar junto a «Asignación de servidor DNS» → Manual → IPv4 activado → DNS preferido 1.1.1.1, DNS alternativo 1.0.0.1 → Guardar.

macOS: Ajustes del Sistema → Red → Wi-Fi → Detalles → DNS → añade 1.1.1.1 y 1.0.0.1 y elimina las entradas antiguas → OK.

¿No sabes qué resolver es el más rápido desde tu ubicación? Ejecuta el Test de velocidad de DNS de DNS Robot: compara Cloudflare, Google, Quad9 y otros desde tu propia conexión en segundos.

Solución 7: desactiva temporalmente VPN, antivirus y firewall

Las VPN, los escudos web del antivirus y los firewalls se sitúan entre tu navegador e internet, y cada uno puede rechazar una conexión. Los escudos que analizan HTTPS pasan tu tráfico por un servicio local; si ese servicio se rompe, los sitios HTTPS pueden fallar en todos los navegadores a la vez. Y algunos sitios rechazan directamente las direcciones de VPN.

Pruébalos uno por uno: desconecta la VPN y recarga. Luego pausa la protección web del antivirus durante un minuto y recarga. Por último, pausa cualquier firewall de terceros, que suele formar parte de una suite antivirus. (El firewall de macOS solo filtra las conexiones entrantes, y el Firewall de Windows Defender permite el tráfico saliente salvo que alguien haya añadido una regla. Si Chrome dice «Tu acceso a Internet está bloqueado», la causa es un firewall de tu dispositivo.)

Si el sitio carga con uno de ellos desactivado, vuelve a activarlo y añade una excepción para el sitio, o elige otro servidor de VPN, en lugar de dejar la protección desactivada.

Solución 8: prueba las extensiones en modo incógnito

Las extensiones rara vez causan este código: una que bloquee un sitio muestra ERR_BLOCKED_BY_CLIENT. Pero una ventana de incógnito (Ctrl+Shift+N, o Cmd+Shift+N en Mac) es una prueba de diez segundos que descarta a la vez las extensiones y los datos en caché, porque allí las extensiones están desactivadas salvo que las hayas permitido.

Si el sitio carga en incógnito, ve a chrome://extensions, desactívalas todas y vuelve a activarlas una a una hasta que reaparezca el error. Si sigue fallando en incógnito, la causa está fuera de Chrome.

Solución 9: revisa tu archivo hosts

Tu archivo hosts anula el DNS para los nombres que contiene. Si el sitio está asignado a 127.0.0.1 o a la IP de un servidor antiguo, tu navegador se conecta ahí y lo rechazan. Las entradas de desarrollo olvidadas y las listas hosts de bloqueo de anuncios son los culpables habituales, y el archivo afecta a todos los navegadores.

bash
# Windows — open as Administrator:
notepad C:\Windows\System32\drivers\etc\hosts

# macOS / Linux:
sudo nano /etc/hosts

# Look for lines containing the domain, e.g.:
# 127.0.0.1   example.com   ← forces the connection to your own PC
# 203.0.113.7 example.com   ← forces an old server IP

# Delete the offending line, save, then flush DNS.

Solución 10: en Android o iPhone

Los teléfonos rechazan conexiones por las mismas razones, con otros interruptores:

  • Cambia de red: carga el sitio con datos móviles y luego con Wi-Fi. Si solo una de las dos lo rechaza, el problema es esa red, no el teléfono.
  • Desactiva las apps de VPN, incluidos los bloqueadores de anuncios y firewalls que funcionan como VPN (muestran una llave o un icono de VPN en la barra de estado).
  • Quita el proxy de la red Wi-Fi: en Android, abre los ajustes de la red Wi-Fi → icono del lápiz (Modificar) → Opciones avanzadas → Proxy → Ninguno (el texto varía según el fabricante). En iPhone: Ajustes → Wi-Fi → ⓘ junto a la red → Configurar proxy → «Off» (desactivado).
  • Borra los datos de Chrome: Chrome → Configuración → Privacidad y seguridad → Borrar datos de navegación → Archivos e imágenes en caché.
  • ¿Pruebas tu propio servidor? En un teléfono, localhost es el propio teléfono. Usa la dirección IP local de tu ordenador (mira la sección siguiente).

Localhost rechazó la conexión (para desarrolladores)

Ver localhost rechazó la conexión o ERR_CONNECTION_REFUSED en 127.0.0.1 significa que nada de tu máquina acepta conexiones en la dirección y el puerto que abriste. Las razones habituales:

  • El servidor de desarrollo no está en ejecución — nunca lo iniciaste, o se bloqueó. Revisa la terminal donde deberían estar corriendo npm run dev, rails s o python manage.py runserver.
  • Puerto equivocado — el servidor arrancó en otro puerto (3001 porque el 3000 estaba ocupado, por ejemplo). Copia la dirección de su línea de arranque.
  • Sin puerto en la dirección — http://localhost va al puerto 80, mientras que los servidores de desarrollo usan el suyo (3000, 5173, 8000, 8080).
  • 127.0.0.1 frente a [::1] — los navegadores prueban ambas direcciones para localhost, pero un servidor puede escuchar solo en una. Si abres directamente la otra dirección (http://127.0.0.1:3000 o http://[::1]:3000), o te conectas desde una herramienta que prueba solo una, te rechazan.
  • Dentro de Docker — la app debe escuchar en 0.0.0.0 dentro del contenedor y el puerto debe estar publicado (-p 3000:3000). Una app ligada a 127.0.0.1 en un contenedor no es accesible desde tu máquina (puede que veas ERR_EMPTY_RESPONSE).
  • Desde un teléfono o un emulador — allí, localhost es el propio dispositivo. Usa la IP de LAN de tu ordenador y arranca el servidor de desarrollo en todas las interfaces (Vite: --host), o 10.0.2.2 desde el emulador de Android, su alias para el localhost de tu ordenador.
bash
# What is listening on port 3000?
# macOS / Linux:
lsof -nP -iTCP:3000 -sTCP:LISTEN

# Windows (PowerShell):
netstat -ano | findstr :3000 | findstr LISTENING

# No output = nothing is listening = connection refused.
# 127.0.0.1:3000 in the output = IPv4 only; [::1]:3000 = IPv6 only.

Si necesitas comprobar si un puerto de tu servidor público es alcanzable desde internet (y no solo desde la propia máquina), usa el Verificador de puertos de DNS Robot: prueba la conexión desde fuera de tu red, que es lo que experimentan tus visitantes.

«Ha rechazado la conexión» dentro de una página incrustada

Si «La página example.com ha rechazado la conexión.» aparece dentro de un recuadro de otra página (un formulario, un informe, un mapa o un inicio de sesión incrustados), normalmente no es un problema de red. Chrome muestra la misma frase cuando el sitio incrustado prohíbe que lo muestren dentro de páginas de otros sitios mediante una cabecera X-Frame-Options o Content-Security-Policy: frame-ancestors. Internamente es ERR_BLOCKED_BY_RESPONSE, error -27 (net_error_list.h).

Como visitante, abre el enlace incrustado en su propia pestaña; allí cargará. Como propietario del sitio, permite la página que te incrusta con Content-Security-Policy: frame-ancestors 'self' https://parent.example. X-Frame-Options solo puede decir DENY o SAMEORIGIN, y los navegadores actuales siguen frame-ancestors cuando una página envía ambas. Mira qué envía tu sitio con el Verificador de encabezados HTTP, y nuestra guía de X-Frame-Options tiene las cabeceras exactas.

Para propietarios de sitios web: tu sitio rechaza conexiones

Si los visitantes informan de ERR_CONNECTION_REFUSED en tu sitio, sus paquetes llegan a una máquina de tu IP, pero nada ahí acepta la conexión. Repasa esta lista:

  • ¿Está en marcha el servidor web? Entra por SSH y comprueba systemctl status nginx (o apache2, caddy). Un servidor que no arrancó tras un reinicio por una configuración rota, o que mató el sistema al quedarse sin memoria, deja la máquina sin nada escuchando. Reinícialo con sudo systemctl restart nginx.
  • ¿Escucha en los puertos y direcciones correctos? Ejecuta ss -tlnp | grep -E ':(80|443) '. Un servidor que escucha solo en 127.0.0.1 rechaza a todos los de fuera; si no hay nada en el 443, ningún bloque de servidor escucha ahí (nunca se configuró HTTPS, o el archivo del sitio no está habilitado). nginx -T muestra la configuración que está cargada de verdad.
  • ¿Hay un firewall rechazando? Una regla configurada para rechazar (iptables REJECT, ufw reject) envía rechazos. El deny por defecto de ufw y los firewalls en la nube, como los grupos de seguridad de AWS, descartan los paquetes sin avisar, y los visitantes ven ERR_CONNECTION_TIMED_OUT.
  • ¿Ha baneado fail2ban a alguien? Su ban por defecto rechaza la dirección bloqueada, así que ese visitante (o tú, tras unos inicios de sesión SSH fallidos) recibe ERR_CONNECTION_REFUSED mientras los demás entran. Comprueba sudo fail2ban-client status.
  • ¿Cambió la IP de tu servidor? Compara tu registro A con la IP real del servidor usando la Consulta DNS. Tras una migración, un registro A antiguo envía a los visitantes a la máquina anterior.
  • ¿Detrás de Cloudflare? Con registros en modo proxy (nube naranja), los visitantes se conectan a Cloudflare, no a ti, y no verán este código. Cuando tu origen rechaza las conexiones de Cloudflare, Cloudflare muestra su propio Error 521: Web server is down.
  • Prueba desde fuera: el Verificador de puertos en los puertos 80 y 443, y el Verificador de encabezados HTTP para una petición real desde internet.

Cómo verificar que la solución funcionó

Después de cada solución, comprueba la conexión a nivel de red en lugar de limitarte a recargar la página: así sabrás si el puerto se abrió de verdad.

bash
# Test the TCP connection directly (Mac/Linux):
nc -zv -w 5 example.com 443
# "succeeded" = port open, "refused" = still rejected

# Windows (PowerShell):
Test-NetConnection example.com -Port 443
# TcpTestSucceeded : True = fixed

# Then confirm the address your computer actually uses:
ping -c 1 example.com          # Mac/Linux
Resolve-DnsName example.com    # Windows PowerShell

O sáltate la terminal: pasa el dominio y el puerto por el Verificador de puertos de DNS Robot para obtener una respuesta de abierto/cerrado desde fuera de tu red. Si el puerto está abierto desde fuera pero tu navegador sigue mostrando ERR_CONNECTION_REFUSED, el bloqueo está en tu dispositivo o en tu red: vuelve a las soluciones de VPN, software de seguridad y archivo hosts.

¿Está abierto el puerto o el servidor realmente rechaza?

El Verificador de puertos gratuito de DNS Robot se conecta a cualquier dominio y puerto desde fuera de tu red y te dice si está abierto, cerrado (rechazado) o filtrado (sin respuesta). Si también está cerrado para nosotros, el sitio rechaza a todo el mundo, no solo a ti.

Fuentes

  1. net_error_list.h (CONNECTION_REFUSED -102, BLOCKED_BY_RESPONSE -27), Chromium
  2. Windows Sockets error codes (WSAECONNREFUSED 10061), Microsoft
  3. Content-Security-Policy: frame-ancestors, MDN
  4. error_page_strings.grdp (Chrome's error page wording), Chromium
  5. Error 521: web server is down, Cloudflare

Preguntas frecuentes

¿Qué significa ERR_CONNECTION_REFUSED?

Tu navegador encontró la dirección IP del sitio, pero la máquina que está ahí rechazó la conexión en ese puerto. Chrome lo llama error -102 y muestra «La página [sitio] ha rechazado la conexión.» Normalmente el servidor web está caído, un firewall rechaza la conexión o tu dispositivo se conecta a una dirección equivocada por una caché obsoleta o una entrada del archivo hosts.

¿ERR_CONNECTION_REFUSED es culpa mía o del sitio web?

Puede ser de cualquiera. Abre el sitio en el teléfono con datos móviles y pásalo por un comprobador de caída o de puertos en el puerto 443. Si también lo rechazan desde fuera, es problema del sitio y toca esperar. Si carga en otro sitio, la causa está en tu dispositivo o red: una VPN, el software de seguridad, el archivo hosts o el router.

¿Cómo soluciono ERR_CONNECTION_REFUSED en Chrome?

Comprueba si el sitio está caído para todos, reinicia el router, desconecta cualquier VPN y pausa la protección web del antivirus, revisa el archivo hosts, vacía la caché DNS (ipconfig /flushdns en Windows) y borra los archivos e imágenes en caché de Chrome. Si Chrome muestra ERR_PROXY_CONNECTION_FAILED, desactiva el proxy en los ajustes del sistema.

¿Por qué me sale ERR_CONNECTION_REFUSED en todos los navegadores?

Porque la causa está por debajo del navegador. Si un sitio falla en todos los navegadores, el sitio está caído, tu archivo hosts o tu caché DNS apuntan al servidor equivocado, o tu red está bloqueada. Si fallan todos los sitios en todos los navegadores, mira el software de seguridad (un escudo web del antivirus o un firewall), una VPN y el router.

¿Cómo soluciono ERR_CONNECTION_REFUSED en Android o iPhone?

Carga el sitio con datos móviles y luego con Wi-Fi para ver qué red lo rechaza. Desactiva las apps de VPN, incluidos los bloqueadores de anuncios que funcionan como VPN, y quita cualquier proxy de los ajustes de la red Wi-Fi (iPhone: Wi-Fi → ⓘ → Configurar proxy → «Off»). Después borra los archivos en caché de Chrome. En un teléfono, localhost es el propio teléfono.

¿Por qué localhost rechaza la conexión?

Nada de tu máquina está escuchando en esa dirección y puerto: el servidor de desarrollo no está en marcha, arrancó en otro puerto o escucha solo en [::1] mientras tú abriste 127.0.0.1 (o al revés). Ejecuta lsof -nP -iTCP:PUERTO -sTCP:LISTEN en Mac o Linux, o netstat -ano | findstr :PUERTO | findstr LISTENING en Windows.

¿Cuál es la diferencia entre ERR_CONNECTION_REFUSED y ERR_CONNECTION_TIMED_OUT?

Rechazada significa que el servidor o un firewall respondió con un rechazo (un TCP reset o un mensaje de «puerto inalcanzable»), por eso el error llega al instante. Timeout significa que nada respondió y Chrome se cansó de esperar. Rechazada apunta a un servicio caído o a un puerto cerrado; un timeout apunta a un host inalcanzable o a un firewall que descarta paquetes sin avisar.

¿Puede un firewall causar ERR_CONNECTION_REFUSED?

Sí: un firewall de servidor o de red configurado para rechazar en lugar de descartar el tráfico envía un rechazo, que los navegadores muestran como conexión rechazada; el ban por defecto de fail2ban funciona así. Los firewalls que descartan paquetes sin avisar, como los grupos de seguridad en la nube, causan un timeout, y un firewall de tu propio dispositivo muestra «Tu acceso a Internet está bloqueado».

¿Por qué Minecraft dice «Connection refused»?

«Connection refused: no further information» significa que la dirección del servidor respondió pero nada aceptó la conexión en su puerto: el servidor está apagado o aún arrancando, la dirección o el puerto son incorrectos (los servidores de Java Edition usan el 25565 salvo que se indique otro), o el firewall del host o la redirección de puertos no deja entrar a los jugadores. Prueba la dirección y el puerto con un verificador de puertos.

¿ERR_CONNECTION_REFUSED significa que me han bloqueado o baneado?

Normalmente no. Los sitios que banean visitantes suelen devolver una página 403 Forbidden o una pantalla de bloqueo. Pero el firewall de un servidor puede rechazar rangos enteros de IP, como los servidores de salida de una VPN, y eso sí se muestra como ERR_CONNECTION_REFUSED. Si el sitio carga desde otra red pero nunca desde la tuya, es posible un bloqueo por IP.

Sobre el autor

Shaik Vahid

Fundador de DNS Robot. Vahid pasó años en el soporte de alojamiento web resolviendo dominios, registros DNS, certificados SSL y la entrega de correo para clientes. Desarrolla las herramientas de DNS Robot y escribe estas guías a partir de los errores que la gente encuentra de verdad.

Verificador de Puertos

Prueba la conectividad de puertos y disponibilidad de servicios