504

Gateway Timeout

El servidor tardó más que una cita con el dentista

Error del Servidor

🤔¿Qué narices es esto?

El error 504 Gateway Timeout aparece cuando un servidor (por ejemplo, un proxy o load balancer) no recibe respuesta a tiempo del servidor real al que intenta acceder.

Es como llamar a alguien y que nunca te conteste: el proxy se queda esperando... y esperando... hasta que se rinde.

  • Servidor backend muy lento o colapsado
  • Timeout de red o configuración demasiado baja
  • Errores en la base de datos que retrasan la respuesta
  • Conexiones saturadas en el proxy

Dato curioso

504 y 502 suelen confundirse, pero el 504 se refiere específicamente a una espera que se prolongó más de lo debido. A veces, todo está configurado bien... pero el backend simplemente se tomó su tiempo.

Muy frecuente en APIs, microservicios lentos, o cuando el backend depende de servicios externos (como pagos o consultas a terceros).

🔧Cómo arreglar este desastre

🚀 Para usuarios normales

  1. Recarga la página: Tal vez el servidor ya respondió.
  2. Prueba más tarde: Puede haber congestión temporal.
  3. Verifica tu conexión: Aunque es raro, puede ser local.

🛠️ Para desarrolladores/administradores

  1. Revisa logs del proxy: ¿A quién está intentando contactar y por qué no responde?
  2. Monitorea tiempos de respuesta: Usa APMs para ver qué endpoint tarda demasiado.
  3. Ajusta los timeouts: proxy_read_timeout, keepalive_timeout, etc.
  4. Escala backend: Puede que necesites más instancias o potencia.
  5. Evita dependencias lentas: Considera usar caché o asincronía.

Causas típicas del 504

  • Backend lento:
    Procesos pesados, consultas lentas, o loops infinitos.
  • Timeout mal configurado:
    El proxy se rinde antes de que el backend responda.
  • Dependencias externas lentas:
    APIs de terceros, servicios de pago, etc.

🚀 Respuesta rápida para emergencias

🔥 Si el backend no responde:
1. Verifica que esté en línea.
2. Revisa consumo de CPU/RAM.
3. Aumenta recursos si es necesario.
⚡ Si es intermitente:
1. Ajusta timeout de proxy.
2. Usa colas asincrónicas.
3. Reintenta automáticamente.
🎯 Truco pro:
Identifica cuellos de botella con herramientas como New Relic o Datadog.