Errores de servidor HTTP 5xx: significado, diagnóstico y soluciones

RESPUESTA DIRECTA

Una respuesta HTTP 5xx significa que un servidor o intermediario no pudo completar una solicitud que, por lo demás, era válida. Identifica el código de estado exacto y la capa que lo generó —aplicación, servidor de origen, proxy, balanceador de carga o CDN— y compara las marcas de tiempo, los logs, las comprobaciones de estado y las métricas de recursos. Actualizar el navegador repetidamente normalmente no solucionará el problema subyacente.

Puntos clave

  • 500 normalmente indica un error mientras la aplicación o el servidor procesaba la solicitud.
  • 502 normalmente significa que una gateway o un proxy recibió una respuesta no válida o inutilizable de un servicio upstream.
  • 503 indica que el servicio no puede gestionar temporalmente la solicitud, a menudo debido a mantenimiento, sobrecarga o una dependencia que no está saludable.
  • 504 significa que una gateway o un proxy no recibió una respuesta del servicio upstream antes de que venciera el tiempo de espera.
  • Una página de error personalizada de un proxy o CDN puede indicar que el origen no generó la respuesta.
  • Las marcas de tiempo, los ID de solicitud, las cabeceras de respuesta y los logs correlacionados son más útiles que actualizar la página repetidamente.
Actualizado el 2026-09-25 · Revisión editorial pendiente Errores HTTP y del servidor
SA

Site Administrator

Qué significa este error y cómo reconocerlo

Puedes observar uno o varios de estos síntomas:

  • Un sitio web o una API devuelve un estado HTTP del 500 al 599.
  • La respuesta es un error de servidor genérico, un error de aplicación o una página personalizada de un reverse proxy, balanceador de carga o CDN.
  • Solo falla una ruta, operación o endpoint de API, mientras las demás páginas siguen funcionando.
  • Todo el servicio deja de estar disponible o devuelve errores de forma intermitente.
  • Las solicitudes se vuelven lentas antes de terminar con un 504 u otra respuesta 5xx relacionada con una gateway.
  • La respuesta incluye un ID de solicitud, un identificador upstream o una cabecera de error específica del servidor que puede ayudar a identificar la capa que la generó.

Causas principales, ordenadas por probabilidad

Entre las causas probables, de las más comunes a las menos comunes, se incluyen:

  1. Excepciones de la aplicación o fallos al gestionar la solicitud. Los errores de aplicación no controlados, las rutas de entrada no válidas o un cambio de código defectuoso pueden producir una respuesta 500.
  2. Cambios recientes de despliegue o configuración. Una versión publicada, un cambio de variable de entorno, una modificación de enrutamiento o un error de configuración del servidor pueden afectar a una ruta o a todo el servicio.
  3. Procesos backend que no están saludables. Un proceso de aplicación detenido, que se bloquea, sobrecargado o inaccesible puede hacer que un proxy devuelva 502 o 503.
  4. Fallos de dependencias. Los errores de base de datos, los servicios internos no disponibles, los servicios externos lentos o los pools de conexiones agotados pueden manifestarse como varios códigos 5xx distintos.
  5. Tiempos de espera entre capas. Una gateway puede devolver 504 cuando un servicio upstream no responde dentro del tiempo de espera configurado; las dependencias lentas pueden ser la causa subyacente.
  6. Presión sobre los recursos. Un uso elevado de CPU o memoria, la saturación de workers, el agotamiento del disco o los límites de conexiones pueden dejar un servicio no disponible o hacer que las solicitudes agoten el tiempo de espera.
  7. Mantenimiento o protección intencionada. Un servicio puede devolver 503 durante tareas de mantenimiento, al drenar tráfico, aplicar límites de tasa o protegerse contra una sobrecarga.
  8. Comportamiento específico de cada capa. El mismo incidente subyacente puede producir códigos distintos según si la respuesta la generó la aplicación, el servidor web, el reverse proxy, el balanceador de carga o el CDN.

Cómo solucionarlo

1¿El estado es 500–599? Si no, utiliza el diagnósticocorrespondiente a estados que no sean 5xx. Si sí,continúa.2¿Qué capa generó la respuesta? Aplicación/servidor→ inspecciona los logs de la aplicación y delservidor. Proxy, balanceador de carga o CDN →inspecciona esa capa y comprueba si existe una solicitudcoincidente en el origen.3¿Está afectada una sola ruta? Sí → inspecciona elcódigo, los datos y las dependencias específicos de laruta. No → prioriza el despliegue, el estado de losprocesos, el enrutamiento, la capacidad y lasdependencias compartidas.4¿Qué código aparece? 500 → fallo deaplicación/servidor; 502 → respuesta upstreaminutilizable; 503 → indisponibilidad temporal; 504 →timeout del upstream.5¿Las marcas de tiempo y los ID de solicitud identificanuna causa? Sí → aplica la solución autorizada máspequeña y vuelve a probar. No → correlaciona todaslas capas y escala el incidente con pruebas sanitizadas.
Diagnostic flow at a glance — full detail in the steps below.

1. Registra el fallo con precisión

Anota el código de estado exacto, la URL o la operación de API afectada, la hora —incluida la zona horaria—, la frecuencia, el cuerpo de la respuesta y las cabeceras de respuesta relevantes. Conserva cualquier ID de solicitud o de trace. Si solo estás visitando el sitio, envía estos datos al responsable del servicio en lugar de cambiar la configuración del servidor.

2. Identifica la capa que generó la respuesta

Compara la página de error o el cuerpo JSON, las cabeceras, las cookies y los identificadores del servidor con una respuesta correcta conocida. Un cuerpo de error específico del framework puede apuntar a la aplicación; una página personalizada de una gateway o CDN puede significar que la solicitud falló antes de que el origen produjera una respuesta. Comprueba los logs del reverse proxy, el balanceador de carga o el CDN cuando los logs del origen no contengan ninguna solicitud coincidente.

3. Distingue una interrupción general de un fallo específico de una ruta

Prueba un endpoint de health check aprobado y de bajo impacto, así como una ruta conocida que no esté afectada. Si solo falla una ruta, revisa su código de aplicación, el acceso a datos y las dependencias específicas de la solicitud. Si fallan todas las rutas, prioriza el estado de los procesos, el estado del despliegue, el enrutamiento, la capacidad y las dependencias compartidas. No actualices repetidamente un endpoint de producción como sustituto de un health check.

4. Correlaciona los logs con la misma marca de tiempo

Revisa conjuntamente los logs de la aplicación, el servidor web, el proxy/balanceador de carga y las dependencias. Busca primero el ID de solicitud y, después, limita la búsqueda por marca de tiempo y endpoint. Busca stack traces, reinicios de procesos, mensajes de conexión rechazada, códigos de estado upstream, mensajes de timeout, llamadas fallidas a la base de datos y conexiones rechazadas. Sanitiza las credenciales, los tokens y los datos confidenciales de las solicitudes antes de compartir los logs.

5. Comprueba los cambios recientes y el estado del servicio

Revisa los despliegues, los feature flags, los cambios de configuración, las actualizaciones de certificados o enrutamiento, las tareas de mantenimiento y los cambios de dependencias realizados poco antes de que comenzaran los fallos. Confirma que los procesos backend estén en ejecución y superen sus health checks. Si un cambio reciente está claramente correlacionado con el incidente, utiliza el procedimiento de rollback aprobado por el servicio y cuenta con la autorización correspondiente; no reinicies ni reviertas sistemas de producción sin aprobación operativa.

6. Comprueba las dependencias y la presión sobre los recursos

Inspecciona la accesibilidad y latencia de la base de datos, el estado de los servicios internos, las respuestas de las dependencias externas, el uso del pool de conexiones, la profundidad de las colas, la CPU, la memoria, el espacio en disco, la disponibilidad de workers y los límites de conexiones. Una dependencia que simplemente está lenta puede causar un 504 aunque el proceso de la aplicación siga funcionando. Corrige el componente limitado o que falla en lugar de ocultar el síntoma aumentando los tiempos de espera a ciegas.

7. Usa el código de estado para centrar la investigación

  • 500 Internal Server Error: Empieza por los logs de la aplicación, los errores del servidor, la ruta que falla y los cambios recientes de código o configuración.
  • 502 Bad Gateway: Inspecciona la conexión entre el proxy y el upstream, así como la respuesta del upstream. Comprueba si el backend está caído, cierra conexiones, devuelve datos malformados o se accede a él mediante una ruta incorrecta.
  • 503 Service Unavailable: Comprueba el estado de mantenimiento, los health checks o las comprobaciones de readiness, los controles de sobrecarga, la disponibilidad de los procesos y las dependencias compartidas.
  • 504 Gateway Timeout: Mide dónde se consume el tiempo. Comprueba la latencia del upstream, las llamadas a la base de datos o a servicios externos, los pools de conexiones y la configuración de los tiempos de espera en cada capa.
  • Otros estados 5xx: Usa la definición exacta del estado y el componente que lo emitió; no supongas que todas las respuestas 5xx tienen la misma causa.

8. Aplica la solución autorizada más específica y verifica de forma segura

Corrige el problema identificado de aplicación, configuración, dependencia o capacidad mediante el proceso de control de cambios del entorno. Después, verifica un endpoint de health check sencillo, la operación que fallaba y funciones dependientes representativas. Confirma que las tasas de 5xx y la latencia hayan vuelto a la normalidad sin crear escrituras duplicadas ni carga adicional. Si la solución implica una acción que cambia el estado, como reiniciar un proceso, drenar tráfico o modificar un tiempo de espera, documenta el impacto previsto y obtén autorización previamente.

Prevención y cómo verificar la solución

  • Supervisa la tasa de 5xx, la latencia y la disponibilidad por ruta, servicio y capa que genera la respuesta.
  • Utiliza comprobaciones de readiness y liveness que reflejen los requisitos reales de las dependencias sin generar una carga excesiva.
  • Mantén los ID de solicitud o de trace coherentes entre proxies, aplicaciones y dependencias.
  • Configura tiempos de espera y límites de conexiones acotados y revisados en cada límite entre servicios; evita que las llamadas externas lentas consuman todos los workers.
  • Configura alertas para la saturación de recursos, los fallos de procesos, la latencia de la base de datos, el agotamiento del pool de conexiones y la presión sobre el disco antes de que se conviertan en fallos generalizados.
  • Utiliza despliegues progresivos, cambios de tráfico basados en el estado de salud y un procedimiento de rollback probado.
  • Documenta qué códigos 5xx puede emitir cada proxy, aplicación y dependencia para que quienes respondan al incidente no traten 500, 502, 503 y 504 como intercambiables.
  • Prueba periódicamente el comportamiento ante dependencias degradadas y sobrecarga en un entorno autorizado.

Cuándo pedir ayuda externa

Escala el incidente al responsable del servicio o al equipo de guardia cuando los errores estén generalizados, continúen después de un cambio reciente, afecten a la autenticación o los pagos, puedan provocar escrituras duplicadas o incompletas, o impliquen una posible pérdida o corrupción de datos. Escala antes si no se puede identificar la capa que falla o si la recuperación requiere un reinicio, rollback, cambio de enrutamiento o modificación de tiempos de espera no autorizados.

Incluye el estado exacto, el endpoint afectado, las horas de inicio y finalización, la frecuencia, los ID de solicitud o de trace, las cabeceras de respuesta, los cambios recientes, el alcance del impacto y los logs o métricas sanitizados. No compartas contraseñas, claves de API, tokens de sesión, cabeceras de autorización ni cuerpos de solicitudes confidenciales.

Comprobar un sitio web

Preguntas frecuentes

¿Un error 5xx significa que el sitio web está caído?

No necesariamente. Una respuesta 5xx puede afectar a una sola ruta, una dependencia o un subconjunto de solicitudes. Comprueba si un endpoint de health check y otras rutas no relacionadas funcionan antes de considerarlo una interrupción completa.

¿Cuál es la diferencia entre un 500 y un 502?

Un 500 generalmente se genera mientras la aplicación o el servidor gestiona la solicitud y encuentra un error. Un 502 generalmente lo genera una gateway o un proxy que recibió una respuesta no válida o inutilizable de un servicio upstream.

¿Cuál es la diferencia entre un 502 y un 504?

Un 502 significa que la gateway recibió una respuesta upstream inutilizable o no pudo utilizar la conexión con el upstream. Un 504 significa que la gateway esperó una respuesta upstream, pero el tiempo de espera se agotó. El mismo incidente backend puede dar lugar a cualquiera de los dos códigos, dependiendo de lo que ocurriera en el límite de la conexión.

¿La sobrecarga puede causar una respuesta 503?

Sí. Un servicio puede devolver 503 durante una sobrecarga, tareas de mantenimiento, drenaje de tráfico o cuando una dependencia no está disponible. Confirma el motivo en el estado del servicio, las métricas de capacidad y los logs, en lugar de asumir que todos los 503 tienen la misma causa.

¿Por qué son importantes las páginas de error del proxy o CDN?

Ayudan a identificar la capa que generó la respuesta. Si la página la produjo el proxy o CDN, es posible que el origen no recibiera la solicitud o no respondiera a tiempo. Comprueba los logs de los intermediarios y compáralos con los logs de acceso del origen.

¿Debo seguir actualizando una página 5xx?

Normalmente, no. Actualizar repetidamente rara vez revela la causa y puede añadir carga o repetir una solicitud que cambia el estado. Registra los detalles del error y contacta con el responsable del servicio, o inspecciona los logs correlacionados y los datos de estado si administras el servicio.

Documentación adicional

Para conocer el comportamiento específico de cada implementación, consulta la documentación del servidor web, reverse proxy, balanceador de carga, CDN, framework de aplicación y plataforma de hosting que generaron la respuesta. Su comportamiento respecto a los tiempos de espera, los health checks y los errores upstream puede variar.