×
Error 503: causas y soluciones

Error 503: causas y soluciones


El error 503, a veces visto como Error 503 Service Unavailable, es un error bastante común que ocurre cuando un servidor no puede atender una petición. Contrario a otros tipos de errores, este suele ser temporal y no estar relacionado con un fallo permanente. En esta oportunidad veremos en qué consiste el error 503, qué lo provoca y cómo solucionarlo.

¿Qué es el error 503?

El error 503 Service Unavailable es un código de estado HTTP que nos indica que el servidor no está pudiendo procesar una solicitud en este momento. El servidor en sí fue alcanzado y se entendió la solicitud, pero hay algo que está impidiendo que dicha request pueda ser atendida debidamente.

Esto convierte el error 503 en un error muy distinto a otros, como por ejemplo el error 404, que puede originarse en una URL mal escrita o en una página faltante. De hecho, en la mayoría de las ocasiones, el 503 es un error temporal, aunque su origen está a nivel del servidor.

Un error 503 puede afectar a un sitio web completo o bien sólo algunas páginas o servicios que se encuentren en él. Por ejemplo, el sitio principal puede estar funcionando correctamente, pero otros sistemas como una API, un checkout o una función de búsqueda podrían devolver un 503.

En líneas generales, los visitantes que se topan con este error suelen ver un mensaje del tipo «503 Service Unavailable» o «HTTP Error 503», o incluso una página de error personalizada si el servidor tiene una configurada para este código de estado HTTP. En cualquier caso, el significado final es el mismo: el servidor no pudo procesar la petición en ese momento.

Posibles causas

Un error 503 puede tener muchas causas distintas, aunque siempre derivan en que el servidor no es capaz de manejar las peticiones que recibe. La causa más común de todas es un agotamiento de recursos. Puede ser por el CPU, RAM, cantidad de procesos u otro recurso que ha llegado a su límite, lo cual provoca que nuevas peticiones sean rechazadas con una respuesta 503.

Un pico de tráfico también puede dar origen al mismo problema. Un aumento repentino en la cantidad de visitantes, ya sean legítimos o no, o la presencia de un ataque DoS, puede generar más peticiones que las que la infraestructura puede procesar.

Un error 503 también puede ocurrir si algún servicio en el backend deja de responder. Por ejemplo, el servidor web o un proxy reverso quizá estén funcionando correctamente, pero un contenedor, un servidor de aplicación o un pool de PHP-FPM puede estar caído o sobrecargado.

Un proxy mal configurado, un pool que ha llegado a su límite o un servidor con restricciones severas pueden ser el origen de este tipo de error.

Sea cual sea el caso, cuando ocurre, lo mejor es revisar primero los logs; así se puede encontrar información adicional al respecto y ajustar las configuraciones o reiniciar servicios según sea necesario.

Error 503 vs error 500

El error 503 y el error 500 no deben ser confundidos, a pesar de las semejanzas entre ambos códigos de error y a pesar de ser ambos errores en HTTP. Se trata de dos tipos de problemas que suelen tener orígenes bastante diferentes.

El error 500 es un indicador de que el servidor ha encontrado una condición inesperada que le impide completar la solicitud que ha recibido. Esto suele darse por problemas en la aplicación, código roto, permisos incorrectos, configuraciones erróneas o, en pocas ocasiones, un fallo interno del server.

Por su lado, el error 503, como ya decíamos, lo que nos indica es que el servidor está ocupado y no puede atender la petición. En la mayoría de los casos, este error no se origina en el lado de la aplicación, como suele ocurrir con el error 500, sino que tiene su origen en la falta de recursos o en alguna limitación que está siendo alcanzada al momento de procesar una solicitud.

La diferencia principal entre ambos errores está, por lo tanto, en la naturaleza de cada fallo, ya que uno indica que algo salió mal mientras la petición era procesada, y el otro directamente nos dice que la petición no se puede procesar en ese momento.

El error 503, además, podría incluir un encabezado Retry-After, indicando al cliente HTTP que intente más tarde, ya que muchas veces el 503 es un error temporal. Sin embargo, el error 500 carece de un encabezado de ese tipo, dado que es de naturaleza más persistente.

Soluciones

Como decíamos, el error 503 puede tener muchas causas distintas; por ende, la forma de arreglarlo puede cambiar de un escenario a otro. No existe una solución universal cuando el origen puede estar en la falta de recursos, en un servidor de aplicación o en un servicio de backend caído.

  • Uso de recursos: lo primero que se debe revisar son los consumos de CPU, memoria RAM, espacio en disco y cantidad de procesos. Si el servidor está sobrecargado, se puede intentar reducir el tráfico admitido, detener/reiniciar procesos o aumentar la cantidad de recursos disponibles.
  • Servicios: también se deben revisar los distintos servicios detrás de un sitio web. Dependiendo de nuestras configuraciones y software, esto podría incluir Apache, Nginx, PHP-FPM, contenedores, bases de datos, etc. A veces reiniciar un servicio que está fallando basta para solucionar el problema, aunque se debe buscar por qué ese servicio falló inicialmente.
  • Revisión de logs: los registros del servidor y de las aplicaciones son el mejor lugar para encontrar información. Allí se suele indicar si algún servicio ha llegado a su límite de consumo, si hubo algún timeout, errores de memoria, etc.
  • Cambios recientes: si aparece un error 503 luego de realizar un deploy o luego de hacer cambios en alguna configuración, generalmente revertir el proceso suele ayudar a solucionar el problema, mientras se busca el origen exacto entre los cambios realizados.
  • CDN: si utilizamos una CDN, también podemos revisar su estado para comprobar que está funcionando de manera correcta y, ante la duda, podemos desactivarla temporalmente para ver si el error persiste mientras no está en uso.
  • Recurrencia: si el error se soluciona reiniciando un servicio, pero se vuelve algo recurrente, entonces no debemos tomarlo como una solución. En este caso se debe encontrar la causa inicial del problema y corregirla.

503 en CloudLinux / LVE

En los servidores donde se usa el sistema CloudLinux, el error 503 suele darse cuando alguna de las cuentas alcanza alguno de sus límites en LVE, que es donde se configuran los recursos disponibles para cada usuario, como el CPU, RAM, I/O, cantidad de procesos y más.

Cuando el sitio web asociado a una cuenta excede uno de estos límites, CloudLinux temporalmente impide que se atiendan nuevas peticiones hasta que el uso de recursos baje, resultando generalmente en un error 503.

Los límites más comunes en estos entornos corresponden al CPU, a la RAM, a los procesos de entrada, a la cantidad de procesos y al I/O en disco. Los procesos de entrada son muy importantes ya que controlan la cantidad de peticiones simultáneas que pueden llegar a una misma cuenta.

Si tenemos un sitio WordPress lento, un código PHP mal optimizado, tráfico de bots agresivos o picos repentinos de tráfico legítimo, entonces los límites configurados por el proveedor pueden ser alcanzados fácilmente.

Bajo este tipo de sistemas, lo mejor es revisar primero el uso de recursos que muestra LVE Manager para el usuario. Allí se marcan entre los primeros resultados los usuarios con mayor consumo, o bien podemos directamente introducir el usuario que nos interesa en el cuadro de búsqueda de la herramienta.

Si los límites están siendo alcanzados, aumentarlos puede ser solo una solución temporal. Lo mejor es siempre determinar el origen exacto de ese consumo, que en este tipo de entornos suele estar relacionado con tráfico de bots, código mal optimizado, consultas lentas en bases de datos o picos de tráfico legítimo.

Cómo saber si un error 503 es temporal

El error 503 suele ser un error temporal, así que una de las cosas que se pueden probar si tenemos este error en un sitio es esperar un minuto o dos y recargar la página. En algunos casos, el error ya no estará y pudo haber sido causado por un pico de tráfico, una ventana de mantenimiento o un servicio que se estaba reiniciando.

Otra cosa que se puede probar es cargar otras secciones del sitio. Si solo una sección o una determinada función arroja el error 503 pero el resto funciona, entonces el problema podría estar limitado a una parte del backend y no a todo el servidor.

Los headers de respuesta también pueden ser útiles, como decíamos antes, si el header incluye Retry-After, entonces el cliente HTTP en cuestión puede intentar la carga más tarde.

Si el error persiste luego de varios intentos, posiblemente no sea temporal y tenga un origen más persistente. En un caso así es recomendable revisar el asunto con el responsable del sitio (si somos usuarios) o con el proveedor de hosting (si somos el dueño o encargado).

Conclusión

El error 503 suele ser temporal, pero si aparece de forma reiterada puede indicar problemas de recursos, servicios saturados o configuraciones que necesitan atención. Revisar logs, consumos y servicios involucrados nos ayuda a encontrar el origen más rápido y aplicar una solución, en lugar de simplemente reiniciar procesos o aumentar límites.

¿Te gustó el artículo? Compártelo:

[easy-social-share buttons="facebook,twitter,linkedin" counters=1 counter_pos="hidden" total_counter_pos="leftbig" style="button"]
Santiago Borges

Escrito por Santiago Borges

Departamento Técnico VIP, asignado a brindar soporte de forma exclusiva a clientes de alto tráfico y con requerimientos de programación. Además, es un experimentado SysAdmin, que se encargará de que recibas la mejor asistencia ante cualquier problema. Actualmente está cursando estudios de RHCE y posee certificaciones en Inglés por la Universidad de Cambridge. Conoce más sobre él desde su perfil de LinkedIn.

Recibe en tu correo electrónico toda la información sobre hosting, desarrollo web y dominios

Términos y Condiciones de Servicio

Infranetworking Internacional - Copyright 2002-2026
Todos los derechos reservados.