Cómo solucionar errores 502 Bad Gateway en Nginx: Guía paso a paso

Esta guía completa detalla las causas comunes de los errores 502 en Nginx, incluidos problemas de configuración de proxy, y proporciona pasos claros y prácticos para diagnosticarlos y resolverlos rápidamente.

El error 502 Bad Gateway en Nginx ocurre cuando un servidor que actúa como puerta de enlace o proxy recibe una respuesta no válida de un servidor ascendente (upstream), como PHP-FPM, Gunicorn o Node.js.

Causas comunes

  1. Servicio ascendente caído: El proceso que debería manejar la solicitud no se está ejecutando.
  2. Configuración incorrecta del proxy: Nginx intenta conectarse a un puerto o socket que no existe.
  3. Tiempos de espera (Timeouts): El servidor ascendente tarda demasiado en responder.
  4. Falta de recursos: El servidor se ha quedado sin memoria o CPU.

Pasos para la resolución

1. Verificar el estado del servicio

Primero, asegúrate de que tu aplicación esté en ejecución. Por ejemplo, si usas PHP-FPM:

sudo systemctl status php-fpm

2. Revisar los registros de error de Nginx

Los registros son la mejor fuente de información. Ejecuta el siguiente comando para ver los errores recientes:

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

3. Comprobar la configuración del proxy

Verifica que tu bloque location en Nginx apunte al puerto o socket correcto:

location / {
    proxy_pass http://127.0.0.1:8080;
}

Si el servicio escucha en un socket Unix, asegúrate de que la ruta sea correcta y que Nginx tenga permisos de lectura.