502

Bad Gateway

El proxy recibió basura del servidor

🌉 Error del Servidor

🤔 ¿Qué narices es esto?

El error 502 Bad Gateway es como el juego del teléfono roto, pero en versión servidor. Tienes un proxy o gateway que debería hacer de intermediario entre tu navegador y el servidor real, pero algo salió mal en la comunicación.

Este error aparece cuando un servidor que actúa como proxy o gateway recibe una respuesta inválida del servidor upstream. Es como si el cartero recibiera una carta escrita en jeroglíficos: sabe que tiene que entregarla, pero no tiene ni idea de qué pone.

  • Servidor backend caído o inaccesible
  • Timeout en la comunicación entre proxy y servidor
  • Respuesta malformada del servidor upstream
  • Problemas de DNS o conectividad de red

Dato curioso

El error 502 es especialmente común en arquitecturas modernas con microservicios, load balancers y CDNs. Cuantas más capas tengas en tu stack, más probabilidades hay de que algo se rompa en el camino. Es el precio de la escalabilidad.

Lo verás mucho en sitios que usan Cloudflare, Nginx como proxy reverso, load balancers, o cuando el servidor de aplicaciones (como Node.js, PHP-FPM, o Python) se cuelga pero el servidor web (Apache, Nginx) sigue funcionando.

🔧 Cómo arreglar este desastre

🚀 Para usuarios normales

  1. Recarga la página: Muchas veces es un problema temporal.
  2. Espera unos minutos: El servidor puede estar reiniciándose.
  3. Limpia caché DNS: Usa `ipconfig /flushdns` en Windows o `sudo dscacheutil -flushcache` en Mac.
  4. Prueba desde otro dispositivo: Verifica si es un problema local.
  5. Cambia de red: Usa datos móviles o otra WiFi.

🛠️ Para desarrolladores/administradores

  1. Verifica el servidor backend: Asegúrate de que esté funcionando y accesible.
  2. Revisa logs del proxy: Nginx, Apache, load balancer logs.
  3. Comprueba la configuración: Upstream servers, timeouts, health checks.
  4. Testa conectividad: Ping, telnet, curl directo al backend.
  5. Verifica recursos: CPU, memoria, conexiones del backend.
  6. Reinicia servicios: Proxy, load balancer, aplicación backend.

Causas típicas del 502

  • Servidor backend caído:
    Aplicación crasheada, servicio parado, puerto cerrado.
  • Timeout de conexión:
    Proxy timeout, servidor lento, red congestionada.
  • Configuración incorrecta:
    Upstream mal configurado, proxy_pass incorrecto.
  • Sobrecarga del backend:
    Demasiadas conexiones, recursos agotados, memoria insuficiente.

🚀 Respuesta rápida para emergencias

🔥 Si todo el sitio está down:
1. Verifica estado del servidor backend inmediatamente.
2. Revisa logs del proxy/load balancer.
3. Reinicia servicios si es necesario.
⚡ Si es intermitente:
1. Configura health checks en el load balancer.
2. Ajusta timeouts del proxy.
3. Implementa retry logic.
🎯 Truco pro:
Configura páginas de error personalizadas en tu proxy para dar mejor información a los usuarios.