🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo solucionar el error 'ERR_CONNECTION_REFUSED' en PrestaShop

Actualizado el 24 de diciembre de 2025

¿Qué significa el error ERR_CONNECTION_REFUSED en PrestaShop?

Cuando intentas acceder a tu tienda online y el navegador te muestra el mensaje ERR_CONNECTION_REFUSED, significa que tu servidor está rechazando la conexión. Es decir, el servidor está activo (la máquina responde), pero el programa que debería mostrar tu tienda (Apache o Nginx) no está escuchando en el puerto correcto o está bloqueado.

Este es uno de los errores PrestaShop más comunes y puede aparecer tanto en el panel de administración como en la parte pública de tu tienda. La buena noticia es que en la mayoría de los casos tiene una solución sencilla, y no necesitas ser un experto en Linux para resolverlo.

A lo largo de esta guía, te explicaré paso a paso cómo solucionar el error connection refused en tu PrestaShop, tanto si usas un VPS con Linux como si tienes un hosting compartido. Vamos a ello.


Causas más comunes del error de conexión rechazada

Antes de lanzarnos a ejecutar comandos, es importante entender qué puede estar provocando este problema. Las causas más habituales son:

  • El servicio web (Apache o Nginx) está caído.
  • El puerto 80 u 443 está siendo utilizado por otro programa.
  • El firewall del servidor está bloqueando las conexiones.
  • Los permisos de los archivos de configuración son incorrectos.
  • El servicio MySQL o MariaDB no responde y PrestaShop no puede cargar.
  • Hay un problema con el certificado SSL o la configuración de HTTPS.

Vamos a revisar cada una de estas posibilidades en orden, desde lo más simple a lo más complejo.


Primeros pasos: comprobar si el servidor web está funcionando

1. Accede por SSH a tu servidor

Necesitarás conectarte a tu servidor mediante SSH para ejecutar algunos comandos. Si estás en Windows, puedes usar PuTTY; si usas Mac o Linux, abre la terminal directamente.

ssh usuario@tu-servidor.com

2. Verifica el estado de Apache o Nginx

Dependiendo de qué servidor web uses (en PrestaShop es muy habitual Apache), ejecuta uno de estos comandos:

Para Apache:

sudo systemctl status apache2

Para Nginx:

sudo systemctl status nginx

Si el servicio está inactivo o caído, verás un mensaje claro. Para arrancarlo, usa:

sudo systemctl start apache2

O en el caso de Nginx:

sudo systemctl start nginx

Si quieres que se inicie automáticamente al arrancar el servidor, ejecuta:

sudo systemctl enable apache2

[TIP] Si después de reiniciar el servicio el error persiste, revisa los logs de errores en /var/log/apache2/error.log o /var/log/nginx/error.log. Ahí encontrarás pistas muy valiosas.


Comprobar que el puerto correcto está abierto

El error ERR_CONNECTION_REFUSED suele aparecer cuando el puerto 80 (HTTP) o el 443 (HTTPS) no están escuchando. Puedes verificarlo con el siguiente comando:

sudo netstat -tulpn | grep :80

Si no ves ninguna línea que indique que Apache o Nginx está escuchando en el puerto 80, significa que el servicio no está corriendo correctamente o que está configurado para usar otro puerto.

También puedes comprobar si el puerto está siendo usado por otro proceso:

sudo lsof -i :80

Si aparece algún proceso que no sea Apache o Nginx, tendrás que detenerlo o cambiar la configuración del servidor web.


El firewall está bloqueando la conexión

Otra causa muy frecuente de la conexión rechazada es que el firewall (UFW, iptables o el firewall de tu proveedor) esté bloqueando el tráfico entrante.

Si usas UFW (el más común en Ubuntu):

sudo ufw status

Si está activo, asegúrate de que los puertos 80 y 443 están permitidos:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

Luego recarga el firewall:

sudo ufw reload

Si usas iptables:

sudo iptables -L -n

Si ves reglas que bloquean, puedes añadir una regla para permitir el tráfico:

sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT

[WARNING] Ten mucho cuidado al modificar iptables si no estás seguro de lo que haces. Un error puede dejar tu servidor inaccesible por completo. Si es posible, trabaja siempre con UFW, que es más amigable.


Verificar la configuración de PrestaShop

A veces el problema no está en el servidor web, sino en la configuración de tu PrestaShop. Revisa los siguientes puntos:

1. Archivo settings.inc.php

Este archivo contiene la configuración de la base de datos y la URL de tu tienda. Está en:

config/settings.inc.php

Asegúrate de que la URL definida coincide con tu dominio real. Si has cambiado de dominio o de protocolo (HTTP a HTTPS), puede que PrestaShop esté intentando conectarse a una dirección que ya no existe.

2. Permisos de archivos y carpetas

Los permisos incorrectos pueden provocar que PrestaShop no pueda leer ciertos archivos y falle al intentar cargar. Los permisos recomendados son:

  • Archivos: 644
  • Carpetas: 755

Puedes corregirlos con:

find /ruta/a/tu/prestashop -type f -exec chmod 644 {} \;
find /ruta/a/tu/prestashop -type d -exec chmod 755 {} \;

3. Archivo .htaccess

Si usas Apache, el archivo .htaccess es crucial. Si está corrupto o tiene reglas incorrectas, puede provocar errores. Puedes regenerarlo desde el panel de administración de PrestaShop:

  • Ve a Parámetros avanzados > Rendimiento.
  • Busca la opción "Regenerar el archivo .htaccess" y actívala.

También puedes renombrar el archivo actual para que PrestaShop lo cree de nuevo:

mv .htaccess .htaccess.bak

Luego recarga tu tienda. Si funciona, el problema era el archivo.


Problemas con la base de datos MySQL/MariaDB

Aunque el error sea de conexión rechazada en el navegador, a veces la causa raíz está en la base de datos. Si MySQL está caído, PrestaShop no puede cargar y el servidor web puede responder con errores.

Comprueba el estado de MySQL:

sudo systemctl status mysql

O si usas MariaDB:

sudo systemctl status mariadb

Si está inactivo, arráncalo:

sudo systemctl start mysql

Revisa los logs de MySQL:

sudo tail -f /var/log/mysql/error.log

[INFO] Si tu base de datos se ha llenado, PrestaShop puede comportarse de forma extraña. Verifica el espacio disponible con df -h y limpia tablas temporales o logs antiguos si es necesario.


Syspanel: la herramienta que te facilita la vida

Si tu hosting utiliza Syspanel (antes conocido como HestiaCP), tienes una ventaja enorme: puedes gestionar muchos de estos aspectos desde una interfaz gráfica sin necesidad de usar la terminal.

Para acceder a Syspanel, simplemente abre tu navegador y escribe:

https://tu-servidor.com:2106

[TIP] Recuerda que el puerto de acceso a Syspanel es el 2106. Es importante que ese puerto esté abierto en tu firewall, o no podrás entrar al panel.

Desde Syspanel puedes:

  • Reiniciar Apache o Nginx con un clic.
  • Ver los logs de errores en tiempo real.
  • Gestionar los dominios y certificados SSL.
  • Comprobar el estado de los servicios.

Si el error ERR_CONNECTION_REFUSED persiste y no sabes por dónde tirar, entra en Syspanel y revisa el estado de los servicios web. Muchas veces, con un simple reinicio se soluciona.


Soluciones avanzadas si el error persiste

Si has probado todo lo anterior y sigues viendo el error de conexión rechazada, puede que haya problemas más profundos. Aquí tienes algunas opciones avanzadas:

1. Cambiar el puerto de escucha de Apache

Puede que el puerto 80 esté ocupado por otro proceso. Puedes cambiar Apache para que escuche en otro puerto (aunque esto no es recomendable para producción, puede servir para diagnosticar).

Edita el archivo de configuración:

sudo nano /etc/apache2/ports.conf

Cambia la línea:

Listen 80

Por:

Listen 8080

Reinicia Apache y prueba acceder a http://tu-servidor.com:8080. Si carga, el problema era un conflicto de puertos.

2. Desactivar temporalmente el firewall

Para descartar que el firewall sea el culpable, puedes desactivarlo temporalmente:

sudo ufw disable

[WARNING] No dejes el firewall desactivado por mucho tiempo. Úsalo solo para diagnosticar y vuelve a activarlo en cuanto termines.

3. Revisar la configuración de PHP-FPM

Si usas Nginx con PHP-FPM, a veces el socket de PHP no está funcionando. Comprueba su estado:

sudo systemctl status php7.4-fpm

Si usas PHP 8.0 o 8.1, ajusta el nombre del servicio:

sudo systemctl status php8.1-fpm

Reinícialo si es necesario:

sudo systemctl restart php8.1-fpm

Preguntas frecuentes (FAQ)

¿Por qué el error aparece solo en el móvil o en un navegador específico?

Esto suele estar relacionado con la caché del navegador o con una configuración de red local. Prueba con otro navegador o en modo incógnito. Si funciona, limpia la caché y las cookies.

¿El error puede deberse a un problema con el certificado SSL?

Sí, si tienes un certificado SSL caducado o mal configurado, el navegador puede mostrar errores de conexión. Revisa que el certificado esté vigente y bien instalado. En Syspanel puedes renovarlo fácilmente desde la sección de dominios.

¿Cuánto tiempo se tarda en solucionar este error?

En la mayoría de los casos, entre 10 y 30 minutos si sigues esta guía. Si el problema es más complejo (por ejemplo, un ataque DDoS o un disco lleno), puede llevar más tiempo.

¿Es necesario contactar con el soporte del hosting?

Si has probado todos los pasos y el error persiste, sí. A veces el problema está en el servidor físico o en la red del proveedor, y solo ellos pueden solucionarlo.


Resumen final

El error ERR_CONNECTION_REFUSED en PrestaShop puede parecer abrumador al principio, pero con un enfoque metódico y las herramientas adecuadas, casi siempre tiene solución. Recuerda los pasos clave:

  1. Reinicia el servidor web (Apache o Nginx).
  2. Comprueba los puertos y el firewall.
  3. Revisa la configuración de PrestaShop y los permisos.
  4. Verifica la base de datos.
  5. Usa Syspanel (puerto 2106) para facilitar la gestión si tu hosting lo incluye.

[TIP] Siempre que hagas cambios importantes, crea una copia de seguridad de tus archivos y base de datos. Así, si algo sale mal, puedes restaurar sin problemas.

Espero que esta guía te haya sido útil. Con paciencia y estos pasos, tu tienda PrestaShop volverá a estar operativa en poco tiempo. Si te ha quedado alguna duda, deja un comentario y estaré encantado de ayudarte a solucionar el error connection refused en tu proyecto.

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel