504 Gateway Timeout | Causas y Cómo Solucionarlo

Un error 504 Gateway Timeout ocurre cuando un proxy o gateway no recibe respuesta de un servidor upstream dentro del período de timeout. Conoce causas, pasos de troubleshooting y estrategias de prevención.

Un error 504 Gateway Timeout ocurre cuando un servidor actuando como gateway o proxy no recibe una respuesta temprana de un servidor upstream. A diferencia de 502 (respuesta inválida) o 503 (servidor no disponible), 504 específicamente indica que el servidor upstream fue muy lento para responder. Entender cómo encaja dentro del conjunto de códigos de estado HTTP ayuda a los equipos a diagnosticar más rápido—504 siempre significa un timeout en la capa del proxy, no un crash.

504 Gateway Timeout

Qué Significa 504 Gateway Timeout

Per RFC 9110, 504 indica “el servidor, mientras actuaba como gateway o proxy, no recibió una respuesta temprana de un servidor upstream que necesitó acceder para completar la solicitud.”

504 vs 502 vs 503

CódigoSignificadoDiferencia
504 Gateway TimeoutSin respuesta del upstreamConexión establecida, esperó mucho
502 Bad GatewayRespuesta inválida del upstreamObtuvo respuesta, pero estaba malformada
503 Service UnavailableServidor no puede manejar solicitudServidor explícitamente rechazó o sobrecargado

Causas Comunes de 504 Gateway Timeout

  1. Queries de Base de Datos Lentas
  2. Llamadas a APIs Externas
  3. Computación Pesada
  4. Timeout del Proxy Muy Corto
  5. Problemas de Red (alta latencia)
  6. Esgotamiento de Recursos

Troubleshooting de Errores 504

Paso 1: Identifica la Capa del Timeout

Paso 2: Verifica Logs de la Aplicación

Paso 3: Verifica Logs del Proxy/Gateway

En Azion, accede a Real-Time Events y filtra por status = 504. El campo upstream_response_time muestra exactamente cuánto esperó el edge antes de agotar el timeout configurado.

Paso 4: Verifica Performance de Base de Datos

Paso 5: Profilea Performance de la Aplicación

Cómo Corregir Errores 504

  1. Aumenta Timeouts (cuando es apropiado)
  2. Optimiza Operaciones Lentas
  3. Implementa Procesamiento Asíncrono
  4. Usa Respuestas Streaming
  5. Agrega Circuit Breakers

Preguntas Frecuentes

¿Cuál es la diferencia entre 504 y 502? 504 significa que el upstream no respondió a tiempo. 502 significa que el upstream respondió pero la respuesta era inválida.

¿Debo reintentar en 504? Sí, pero solo para métodos idempotentes (GET, PUT, DELETE). Usa backoff exponencial.

¿Cómo configuro timeouts en Kubernetes? Usa timeoutSeconds en probes y configura readinessProbe apropiadamente.

¿Cuál es un valor de timeout razonable? Depende de tu carga de trabajo. Llamadas API: 30-60s. Queries de base de datos: 5-30s. Uploads de archivos: mayor.

mantente actualizado

Suscríbete a nuestro boletín informativo

Recibe las últimas actualizaciones de productos, destacados de eventos y conocimientos de la industria tecnológica directamente en tu bandeja de entrada.