Inicio
/
Ayuda con Páginas Web
/
Estadísticas y errores
/
Localhost se negó a conectar: qué significa este error y cómo solucionarlo

Localhost se negó a conectar: qué significa este error y cómo solucionarlo

¿Estás viendo un mensaje de error que dice “localhost rechazó la conexión”? Aunque no es tan común en sitios web en vivo, este error generalmente significa que tu navegador no puede acceder a un servidor web local.

Es un error de conexión de red que suele ocurrir en un entorno de desarrollo local cuando tu sistema no puede acceder al software del servidor que se ejecuta en tu máquina. Las razones más comunes incluyen un servidor web Apache detenido, puertos bloqueados o configuraciones de firewall incorrectas.

Este artículo explica qué causa el error y cómo solucionarlo de manera efectiva.

NOTA: Este error suele aparecer cuando trabajas con una configuración de desarrollo local en tu propio ordenador (por ejemplo, usando herramientas como XAMPP o MAMP).

No afecta a tu sitio web en vivo alojado en SiteGround. Si ves esto mientras previsualizas algo localmente, sigue leyendo para aprender cómo solucionarlo.

Puntos clave

  • El error “localhost rechazó la conexión” aparece cuando tu navegador no puede acceder a un servidor local, generalmente porque el software del servidor está caído, el puerto especificado está bloqueado o un firewall está interfiriendo.
  • Las soluciones comunes incluyen verificar si tu servidor web está funcionando correctamente, vaciar la caché DNS y verificar la dirección IP de tu host local.
  • Usar el formato de URL correcto y asegurarse de que no haya servicios en conflicto ocupando el puerto predeterminado también son pasos clave.

¿Qué significa “localhost rechazó la conexión”?

Este error ocurre cuando tu navegador intenta conectarse a localhost, que apunta a tu máquina local, pero la conexión falla. Esto generalmente significa que el servidor que se esperaba que respondiera en esa dirección de red no está disponible o está rechazando la conexión.

Google Chrome mostrando el mensaje de error “localhost se negó a conectar” con ERR_CONNECTION_REFUSED, sugiriendo comprobar la configuración de proxy y firewall.

Localhost (generalmente 127.0.0.1) es parte de la interfaz de red de bucle invertido que se utiliza para simular un entorno en vivo en tu dispositivo. Si algo está mal configurado, tu navegador no podrá cargar la página web que estás desarrollando o probando.

Causas comunes del error “localhost rechazó la conexión”

Varios problemas locales del sistema o de configuración pueden desencadenar este error. Comprender las causas más comunes puede ayudarte a identificar el problema:

  • Tu servidor local Apache o Nginx no se está ejecutando: Si no hay un servidor web activo en tu máquina, no hay nada a lo que el navegador pueda conectarse.
  • Otro programa está usando el mismo puerto: Otras aplicaciones o herramientas de desarrollo pueden estar usando ya el puerto 80 o 8080, y causar un conflicto.
  • El firewall de tu sistema está bloqueando conexiones: El software de seguridad puede interpretar las solicitudes locales como sospechosas y bloquearlas.
  • El host local no está correctamente asignado: Si el archivo hosts no asigna el host local a 127.0.0.1, no se podrá establecer la conexión.
  • Caché DNS o del navegador corrupta: Los registros DNS antiguos o archivos en caché pueden interferir con la gestión de las solicitudes locales por parte del navegador.
  • Configuración incorrecta del navegador o del proxy: Las extensiones o la configuración del proxy pueden estar interceptando las solicitudes al host local o redirigiéndolas incorrectamente.

Cómo solucionar el error “localhost rechazó la conexión”

1. Asegúrate de que tu servidor (Apache, Nginx, etc.) esté funcionando

Si no hay ningún servidor web funcionando en tu ordenador, tu navegador no recibirá respuesta. Primero, comprueba el estado del servidor web Apache (o Nginx, si lo utilizas):

  • Ubuntu/Debian: sudo systemctl status apache2
  • CentOS/Red Hat: sudo systemctl status httpd
  • Windows (XAMPP): Abre el Panel de control de XAMPP y comprueba el estado de Apache.

Si no está activo, inicia el servidor:

  • Linux: sudo systemctl start apache2 o httpd
  • Windows: Haz clic en “Start” junto a Apache en XAMPP

Si Apache no se inicia, inspecciona tu archivo httpd.conf o apache2.conf en busca de errores de sintaxis o conflictos de puertos. También asegúrate de que el archivo de configuración incluya una directiva Listen válida (por ejemplo, Listen 80).

Consejo: Si estás usando SiteGround, tu entorno de hosting ya incluye un servidor web completamente configurado – no necesitas instalar ni gestionar Apache manualmente.

Para probar cambios de manera segura, considera usar un entorno de pruebas o un subdominio, en lugar de un servidor local.

2. Desactiva temporalmente tu firewall o antivirus

El software de seguridad y la configuración de red pueden bloquear tu servidor web local para que no acepte conexiones. Para descartar esto:

  1. Desactiva temporalmente tu firewall:
    • Windows: Ve a Panel de Control > Firewall de Windows Defender. Desactiva el Firewall de Windows Defender para redes privadas.
      Configuración del Firewall de Windows Defender en el Panel de control con los cortafuegos privado y público desactivados, indicados por iconos rojos y botones de opción.
    • macOS: Ve a Configuración del Sistema > Red > Firewall y desactívalo.
      Ajustes del sistema de macOS mostrando los paneles Red y Cortafuegos. El cortafuegos está desactivado, permitiendo todas las conexiones entrantes al ordenador.
    • Linux: Ejecuta el siguiente comando: sudo ufw disable
  2. Intenta acceder a http://localhost en tu navegador.
  3. Si funciona, es probable que el problema se deba a que el firewall impide que Google Chrome u otras aplicaciones accedan a los puertos locales.
  4. Vuelve a habilitar el firewall una vez que completes las pruebas, y crea una regla para permitir conexiones a localhost si es necesario.

También verifica si hay algún software antivirus que pueda bloquear el tráfico web o aislar la actividad del navegador.

3. Verifica la dirección IP de localhost (127.0.0.1)

En todos los sistemas, localhost debería resolverse a 127.0.0.1. Puedes probar esto:

  • Abriendo un navegador e ingresando 127.0.0.1 directamente en la barra de direcciones
  • Ejecutando ping localhost o ping 127.0.0.1 en un terminal o símbolo del sistema

Si el ping falla o muestra una dirección diferente, verifica tu archivo hosts:

  • Windows: Usa el Bloc de notas para abrir el directorio C:\Windows\System32\drivers\etc\hosts

    Apertura del archivo hosts de Windows ubicado en C:\Windows\System32\drivers\etc usando el Bloc de notas. El archivo está resaltado en la ventana del explorador.
  • macOS/Linux: Usa el Terminal para abrir /etc/hosts

    Edición del archivo hosts en macOS usando el editor nano en la Terminal. El archivo incluye entradas localhost estándar y un dominio personalizado asignado a una IP específica.

Agrega esta línea si falta o está comentada:

127.0.0.1    localhost

Guarda el cambio, reinicia tu navegador y vacía el DNS después.

4. Vacía tu caché DNS

Aunque localhost no debería depender del DNS, una caché DNS corrupta puede interferir con la resolución de nombres local o redirigir solicitudes inesperadamente.

  • Windows: Abre el Menú de Inicio, busca “cmd,” luego ejecuta: ipconfig /flushdns
  • macOS: En Terminal: sudo killall -HUP mDNSResponder
  • Linux: Prueba sudo systemd-resolve –flush-caches o reinicia el servicio nscd/dnsmasq

Esto borra los registros almacenados en tu caché DNS, lo que puede ayudar a resolver búsquedas de internet mal configuradas que afecten a localhost.

Para obtener información detallada, consulta nuestras guías sobre cómo vaciar la caché DNS en Windows, macOS y Linux.

5. Verifica la configuración del puerto

Asegúrate de que tu servidor web esté escuchando en el puerto correcto. Usa estos comandos para identificar los puertos activos:

  • netstat -na | find “LISTEN” (Windows)
  • ss -tuln (Linux/macOS)

Si el puerto 80 (el número de puerto predeterminado) está en uso por otro servicio, cambia la directiva Listen en tu configuración de Apache o Nginx a un número de puerto libre, como 8080 o 8888.

Luego reinicia el servidor y accede a la página usando http://localhost:8080.

6. Usa el formato de URL correcto (con puerto)

Asegúrate de que tu navegador esté usando la dirección web http adecuada para acceder al servidor local. Si el servidor está configurado en un puerto no predeterminado, inclúyelo explícitamente en la URL:

http://localhost:8080

También verifica errores tipográficos como htp:// o localhst, que pueden desencadenar un error de conexión rechazada o redirigir a un sitio en vivo en lugar de tu entorno local.

7. Ajusta la configuración del navegador o prueba con otro 

Las extensiones del navegador, los datos en caché o las configuraciones de proxy mal configuradas pueden bloquear localhost. Para comprobarlo:

  • Limpia la caché y las cookies desde la configuración de tu navegador
  • Comprueba si hay un proxy configurado (en Chrome: chrome://settings/system)
  • Intenta acceder a localhost desde otro navegador como Firefox o Edge
  • En Chrome, navega a chrome://net-internals/#hsts y elimina cualquier política de seguridad de dominio para localhost

Si el mismo error aparece en todos los navegadores, el problema probablemente esté fuera del navegador en sí.

8. Comprueba si hay URLs de localhost codificadas en temas o plugins

Si ves este error en un sitio en vivo alojado en SiteGround, puede deberse a que un tema o plugin intenta cargar un archivo o recurso desde http://localhost.

Esto suele ocurrir cuando un desarrollador codifica una URL de localhost durante el desarrollo local (por ejemplo, para un archivo JavaScript o un punto final de API) y olvida actualizarla antes de publicar el sitio.

Para comprobarlo:

  • Abre las Herramientas de Desarrollador del navegador (clic derecho → Inspeccionar → pestaña Consola o Red)
  • Busca solicitudes fallidas a localhost o 127.0.0.1
  • Actualiza el código de tu tema o plugin para eliminar o reemplazar esas URLs con la ruta correcta del sitio web.

Este es un error del lado del navegador — tu servidor de hosting web no está rechazando la conexión. La solicitud se está enviando al propio ordenador del visitante, que naturalmente no responde.

Método alternativo para acceder a localhost

Si localhost no está funcionando, intenta acceder a tu proyecto usando la dirección de internet local de la máquina (IP privada):

  • Windows: ipconfig → Busca “Dirección IPv4”
  • macOS/Linux: ifconfig o ip a

Usa la IP así (reemplaza XXX.XXX.X.XX con tu dirección IP):

http://XXX.XXX.X.XX:8080

Esto también puede ser útil al realizar pruebas desde otro dispositivo en la misma red. Solo asegúrate de que la configuración del firewall del dispositivo permita las conexiones entrantes.

Consejos finales para evitar “localhost rechazó la conexión” en el futuro

Una vez resuelto el problema, aquí tienes algunos consejos para evitar que vuelva a ocurrir:

  • Siempre verifica que tu servidor web local esté funcionando antes de acceder a localhost
  • Usa números de puerto consistentes y correctos en tu configuración de servidor y en las URL
  • Revisa cualquier referencia a localhost que quede antes de migrar un sitio del desarrollo local al entorno de producción.
  • Vacía regularmente tu caché DNS y la caché del navegador si notas errores de conexión
  • Revisa la configuración de tu firewall si las conexiones locales dejan de funcionar repentinamente

Si estás usando SiteGround para hosting, considera omitir por completo las configuraciones locales complejas usando nuestra herramienta de Staging integrada para sitios de WordPress, o un subdominio para realizar pruebas. Esto generalmente elimina la necesidad de ejecutar un servidor web en tu ordenador local.

Ya sea que estés comenzando con el desarrollo local o implementando proyectos en producción, comprender qué desencadena un error de “localhost rechazó la conexión” te ayudará a resolverlo más rápido y a evitarlo en el futuro.

Comparte este artículo