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

Cómo solucionar el error 502 Bad Gateway en PrestaShop (cPanel y Nginx)

Actualizado el 5 de junio de 2026

¡Hola! Si estás leyendo esto, es muy probable que te hayas encontrado con la temida pantalla de Error 502 Bad Gateway en tu tienda PrestaShop. No te preocupes, respira hondo. Este error es uno de los más comunes en el mundo del hosting y, aunque parece grave, en la mayoría de los casos tiene una solución sencilla que puedes aplicar tú mismo sin necesidad de ser un experto en servidores.

En esta guía extensa y paso a paso, vamos a desglosar exactamente qué significa este error, por qué ocurre y, lo más importante, cómo solucionarlo tanto si tu hosting usa cPanel como si tu servidor está configurado con Nginx. Al final, también responderemos a las preguntas más frecuentes para que te conviertas en un auténtico detective de errores 502.

Vamos a ello.

¿Qué es exactamente el Error 502 Bad Gateway?

Antes de lanzarnos a arreglar nada, es fundamental entender qué está pasando. Imagina que tu tienda online es un restaurante.

  • El Cliente: Eres tú, intentando ver el menú (tu web).
  • El Camarero (Nginx o Apache): Es el servidor web que recibe tu pedido (la solicitud de ver la página).
  • La Cocina (PHP-FPM o Apache): Es el equipo que prepara la comida (genera el contenido dinámico de PrestaShop).
  • El Almacén (Base de Datos MySQL/MariaDB): Donde se guardan todos los ingredientes (productos, pedidos, clientes).

El error 502 Bad Gateway ocurre cuando el camarero (el servidor web) intenta pasar tu pedido a la cocina (el procesador PHP) y esta no responde, se ha quedado bloqueada o se ha estrellado. El camarero no sabe qué hacer, así que te devuelve un mensaje de error: "Lo siento, no puedo preparar tu pedido porque la cocina no responde".

En términos técnicos, significa que el servidor web (Nginx o Apache) recibió una respuesta inválida del servidor upstream (generalmente PHP-FPM). No es que tu web haya desaparecido, sino que hay una desconexión momentánea entre los componentes que la hacen funcionar.

Causas Comunes del Error 502 en PrestaShop

Identificar la causa raíz es el primer paso para la solución. Estas son las culpables más habituales:

  1. PHP-FPM se ha detenido o colapsado: Es la causa más frecuente. El servicio que ejecuta PHP se ha saturado, se ha quedado sin memoria o ha sufrido un error crítico y se ha apagado.
  2. Tiempo de ejecución (Timeout) agotado: Si un script de PrestaShop (como un módulo de actualización masiva o un proceso de generación de informes) tarda demasiado, el servidor web se cansa de esperar y lanza el error.
  3. Configuración incorrecta de Nginx: Un error en el archivo de configuración del sitio web (vhost) en Nginx, como una ruta incorrecta al socket de PHP-FPM, puede provocar el 502.
  4. Problemas con la base de datos: Si MySQL está caído o saturado, PHP no puede obtener los datos y, en consecuencia, falla.
  5. Permisos de archivos incorrectos: Si los archivos de PrestaShop tienen permisos demasiado restrictivos, PHP no puede leerlos o escribirlos, lo que puede causar fallos en cadena.
  6. Recursos del servidor agotados (RAM o CPU): Si tu plan de hosting es muy limitado y tu tienda recibe mucho tráfico, el servidor puede quedarse sin memoria, haciendo que los procesos se bloqueen.
  7. Actualizaciones o módulos defectuosos: A veces, un módulo de PrestaShop mal codificado o una actualización fallida pueden provocar un bucle infinito que bloquea a PHP.

Cómo Solucionar el Error 502 en PrestaShop (Guía Paso a Paso)

Ahora sí, vamos a ensuciarnos las manos. Sigue estos pasos en orden, del más simple al más complejo.

Fase 1: Soluciones Rápidas y Sencillas (Pruébalas Primero)

A veces, la solución es más simple de lo que pensamos. Empieza por aquí.

1. Recargar la Página y Esperar

Parece una tontería, pero a veces el error es un simple "hipo" del servidor. Espera 30 segundos y pulsa F5 o Ctrl + Shift + R (para recargar sin usar la caché). Si fue un fallo puntual, la página cargará con normalidad.

2. Reiniciar PHP-FPM desde tu Panel de Control

Esta es la solución más efectiva para el 90% de los casos. Si tu hosting usa cPanel, es muy fácil:

  1. Inicia sesión en tu cPanel.
  2. Busca la sección "Software" o "Servicios".
  3. Busca la herramienta "MultiPHP Manager" o "Select PHP Version".
  4. En esa pantalla, no cambies nada. Solo busca un botón que diga "Reiniciar PHP-FPM" o "Restart PHP-FPM" (a veces está en la parte superior derecha).
  5. Haz clic en él y espera unos segundos.

[TIP] Si no encuentras la opción exacta, busca en la documentación de tu proveedor de hosting. Muchos paneles personalizados tienen un botón similar. Si no lo ves, contacta con el soporte y pídeles que "reinicien PHP-FPM".

3. Reiniciar el Servidor Web (Nginx o Apache)

Si el reinicio de PHP no funciona, el siguiente paso es reiniciar el propio servidor web.

  • En cPanel: Ve a la sección "Métricas" y luego a "Configuración de Errores". No, espera, eso no es. Busca la herramienta llamada "Apache Handlers" o "Restart Apache". En muchos paneles, hay un botón en la esquina superior derecha que dice "Restart" o "Restart Services". Si tienes acceso a "Terminal" (SSH), puedes escribir:
    • Para Apache: sudo service apache2 restart o sudo systemctl restart httpd
    • Para Nginx: sudo service nginx restart o sudo systemctl restart nginx

[WARNING] Si tu hosting es compartido, es muy probable que no tengas acceso a la terminal ni a reiniciar servicios. En ese caso, este paso y el anterior debes pedirlos al soporte técnico, pero es bueno saber qué pedir.


Fase 2: Soluciones Técnicas (Para Nginx y Entornos más Avanzados)

Si tu tienda está en un VPS o un servidor dedicado con Nginx instalado, o si tu hosting con cPanel usa Nginx como proxy inverso (algo muy común), los siguientes pasos son para ti.

4. Verificar el Estado de Nginx y PHP-FPM

Necesitas acceso SSH (Terminal). Si no sabes qué es esto, contacta con tu proveedor. Una vez dentro, ejecuta estos comandos:

# Para ver si Nginx está corriendo
systemctl status nginx

# Para ver si PHP-FPM está corriendo (el número puede variar, ej. php7.4-fpm, php8.1-fpm)
systemctl status php8.1-fpm

Si el estado de PHP-FPM dice "Active: failed" o "Inactive (dead)", ese es tu problema. Reinícialo con:

systemctl restart nginx
systemctl restart php8.1-fpm

5. Revisar los Logs de Errores (La Pista Clave)

Los registros de errores son tu mejor amigo. Te dirán exactamente por qué está fallando. Ejecuta:

# Para ver los errores de Nginx
tail -f /var/log/nginx/error.log

# Para ver los errores de PHP (en sistemas Ubuntu/Debian)
tail -f /var/log/php8.1-fpm.log

¿Qué buscar? Errores como "Connection refused", "Upstream sent too big header", "No such file or directory" o "Permission denied". Estos te darán la pista exacta.

6. Corregir la Configuración del Sitio en Nginx

Si el log muestra un error de conexión, es probable que la configuración del sitio apunte a un socket o puerto incorrecto. Edita tu archivo de configuración:

nano /etc/nginx/sites-available/tu-dominio.com

Dentro, busca la sección location ~ \.php$ y asegúrate de que la línea fastcgi_pass sea correcta. Debe coincidir con tu versión de PHP. Por ejemplo:

# Esto es un ejemplo, puede variar
location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
}

[WARNING] Si no entiendes de configuración de Nginx, es mejor que no toques nada aquí. Un error de sintaxis puede tumbar toda tu web. Es mejor pedir ayuda a un profesional o al soporte de tu hosting.

7. Aumentar los Límites de Tiempo y Memoria PHP

A veces, el error se debe a que un script tarda demasiado. Puedes aumentar los límites en el archivo php.ini o en la configuración de tu sitio.

# Editar el php.ini de tu versión de PHP
nano /etc/php/8.1/fpm/php.ini

Busca estas líneas y modifícalas:

max_execution_time = 300
max_input_time = 300
memory_limit = 512M

Luego reinicia PHP-FPM:

systemctl restart php8.1-fpm

Fase 3: Soluciones desde tu Panel de Control (cPanel y Syspanel)

Si no tienes acceso SSH, la mayoría de estos ajustes se pueden hacer desde el panel.

8. Revisar la Configuración de PHP en cPanel

  1. En cPanel, ve a "Select PHP Version" (o "MultiPHP Manager").
  2. Asegúrate de que la versión de PHP es compatible con tu versión de PrestaShop (generalmente PHP 7.4 o 8.x).
  3. Haz clic en "Switch to PHP Options" (o "Options").
  4. Busca max_execution_time y memory_limit. Auméntalos a 300 y 512M respectivamente.
  5. Haz clic en "Apply" o "Save".

9. Si tu Hosting usa Syspanel (Antes HestiaCP)

[INFO] Si tu proveedor usa el panel Syspanel (conocido antiguamente como HestiaCP), el proceso es similar pero con un matiz importante. Recuerda que el acceso a este panel se realiza a través del puerto 2106 (ej. https://tu-dominio.com:2106).

  1. Inicia sesión en Syspanel.
  2. Ve a la sección "Web" y busca tu dominio.
  3. Haz clic en el icono de "Editar" o en el nombre del dominio.
  4. Busca la pestaña "Backend" o "PHP". Ahí puedes cambiar la versión de PHP.
  5. Para ajustar los límites, busca la opción "Configuración avanzada" o edita el archivo php.ini directamente desde el administrador de archivos del panel.
  6. Después de cualquier cambio, busca el botón "Rebuild" o "Regenerar" para aplicar la configuración.

[TIP] En Syspanel, al igual que en cPanel, el reinicio de servicios suele estar en la sección principal o dentro de la configuración del dominio.

10. Limpiar la Caché de PrestaShop

A veces, una caché corrupta puede causar errores extraños. Puedes limpiarla de dos maneras:

  • Desde el Administrador: Si puedes acceder al panel de administración de PrestaShop (/admin), ve a Parámetros Avanzados > Rendimiento y pulsa "Vaciar la caché".
  • Por FTP o Administrador de Archivos: Si no puedes acceder al admin, borra el contenido de las carpetas /var/cache/dev/ y /var/cache/prod/ (en PrestaShop 1.7+). En versiones antiguas, borra el contenido de la carpeta /cache/ (excepto el archivo .htaccess y index.php).

Preguntas Frecuentes (FAQ)

¿Por qué mi PrestaShop da error 502 solo en el móvil?

Esto es raro. El error 502 no distingue entre dispositivos. Si solo ocurre en móvil, es probable que sea un problema de caché de la app o del navegador, o que la red móvil esté teniendo problemas para conectar con tu servidor. Prueba a limpiar la caché del navegador móvil o usar datos móviles en lugar de Wi-Fi (o viceversa).

El error 502 aparece al instalar un módulo. ¿Qué hago?

Es muy probable que el módulo sea incompatible con tu versión de PHP o de PrestaShop. Desactiva el módulo por FTP (renombra la carpeta del módulo en /modules/). Si el error desaparece, el módulo era el problema. Considera actualizarlo o buscar una alternativa.

¿Es un ataque DDoS lo que causa el error 502?

Es posible, pero no es lo más común. Un pico de tráfico masivo puede agotar los recursos del servidor y causar el 502. Si el error viene acompañado de una lentitud extrema y ocurre repetidamente, contacta con tu proveedor de hosting para que verifiquen si hay un ataque.

¿Cuánto tiempo se tarda en solucionar un error 502?

Depende de la causa. Si es un simple reinicio de PHP-FPM, puede ser cuestión de segundos. Si es un problema de configuración o de un módulo defectuoso, puede llevarte un par de horas de investigación.

¿Debo preocuparme por perder datos?

No. El error 502 es un error de comunicación entre servidores. No borra ni corrompe tu base de datos ni tus archivos. Es un problema temporal de conexión. Tus datos están a salvo.

Resumen y Consejos Finales

Hemos recorrido un largo camino. Para resumir, la solución al error 502 PrestaShop sigue esta jerarquía:

  1. Reinicia PHP-FPM (la solución más común).
  2. Revisa los logs de errores para obtener pistas precisas.
  3. Aumenta los límites de memoria y tiempo de ejecución.
  4. Verifica la configuración de Nginx (si aplica).
  5. Desactiva módulos recientes si el problema empezó después de una instalación.

[WARNING] Si después de todos estos pasos el error persiste, es hora de contactar con el soporte técnico de tu hosting. Dales tanta información como puedas: qué estabas haciendo cuando apareció el error (instalar un módulo, actualizar, etc.), los mensajes de los logs de errores si los tienes, y la hora exacta en que ocurrió. Esto les ayudará a diagnosticar el problema mucho más rápido.

Espero que esta guía te haya sido de gran ayuda. Recuerda que los errores de servidor son parte del día a día del mundo del hosting, pero con paciencia y un poco de método, casi siempre se pueden resolver. ¡Mucha suerte con tu tienda!

¿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