DNS RobotDNS Propagation Checker
InicioDNSWHOISIPSSL
DNS RobotDNS Propagation Checker

Kit de herramientas DNS de nueva generación

Política de PrivacidadTérminos de ServicioAcerca de NosotrosBlogContacto

Herramientas DNS

Consulta DNSDominio a IPConsulta NSConsulta MXConsulta CNAMEVer todo

Herramientas de Correo

Verificador de Registro SPFVerificador DMARCVerificador DKIMHerramienta de Prueba SMTPAnalizador de Cabeceras de CorreoVer todo

Herramientas Web

Consulta WHOISDisponibilidad de DominioBuscador de SubdominiosDetector de CMSAnalizador de EnlacesVer todo

Herramientas de Red

Herramienta PingTracerouteVerificador de PuertosVerificador de Cabeceras HTTPVerificador de Certificado SSLVer todo

Herramientas IP

Consulta de IPCuál Es Mi IPVerificador de Lista Negra IPIP a HostnameConsulta ASNVer todo

Herramientas Útiles

Escáner de Código QRGenerador de Código QRTraductor de Código MorseConversor de Texto a BinarioGenerador de Texto PequeñoVer todo
© 2026 DNS Robot. Desarrollado por: ❤ Shaik Brothers
Todos los sistemas operacionales
Made with
Home/Blog/Error HTTP 503 Service Unavailable: Causas y Cómo Solucionarlo

Error HTTP 503 Service Unavailable: Causas y Cómo Solucionarlo

Shaik VahidFeb 26, 20268 min read
Guía para solucionar el error HTTP 503 service unavailable mostrando la pantalla de error del servidor y soluciones de troubleshooting paso a paso
Guía para solucionar el error HTTP 503 service unavailable mostrando la pantalla de error del servidor y soluciones de troubleshooting paso a paso

Key Takeaway

El error HTTP 503 significa que el servidor no puede procesar tu solicitud temporalmente, generalmente porque está sobrecargado, en mantenimiento o se ha bloqueado. Como visitante, espera unos minutos y actualiza la página. Como propietario del sitio, verifica los recursos del servidor, reinicia el servidor web, desactiva plugins defectuosos y revisa los logs de error para encontrar la causa raíz.

¿Qué Es el Error HTTP 503?

El error HTTP 503 (Service Unavailable) es un código de estado del lado del servidor que indica que el servidor web no puede procesar tu solicitud temporalmente. A diferencia de un error 404 (página no encontrada) o un error 500 (error interno del servidor), el 503 indica específicamente una condición temporal: el servidor existe y es accesible, pero no puede servir contenido en este momento.

Según la especificación HTTP (RFC 9110), el servidor PUEDE incluir un encabezado Retry-After para indicar cuánto tiempo debe esperar el cliente antes de intentarlo de nuevo. Este encabezado informa a navegadores, rastreadores de motores de búsqueda y clientes de API cuándo se espera que el servicio vuelva a estar disponible.

La palabra clave es "temporal". Una respuesta 503 correctamente configurada le dice a Google y a otros motores de búsqueda que vuelvan más tarde en lugar de eliminar la página de su índice. Por eso los sitios web usan 503 durante el mantenimiento programado: preserva los rankings de SEO.

Note

El 503 es un error del lado del servidor (clase 5xx). Esto significa que el problema está en el servidor, no en tu lado. Como visitante, normalmente no hay nada mal con tu navegador, dispositivo o conexión a internet.

Cómo Se Ve un Error 503

Independientemente del mensaje, la causa subyacente es siempre la misma: el servidor recibió tu solicitud pero no puede procesarla en este momento.

  • 503 Service Unavailable

  • 503 Service Temporarily Unavailable

  • HTTP Error 503. The service is unavailable.

  • Error 503 Backend Fetch Failed (caché Varnish)

  • 503 Service Unavailable — No server is available to handle this request (Apache)

  • 503 Service Temporarily Unavailable — nginx (Nginx)

  • Error 503 (Service Unavailable)!! 1 (error de origen de Cloudflare)

  • Site is temporarily unavailable o Briefly unavailable for scheduled maintenance (WordPress)

Causas Comunes del Error HTTP 503

Entender la causa raíz es el camino más rápido hacia la solución. Estas son las razones más comunes por las que un servidor devuelve 503, ordenadas por frecuencia.

  • Sobrecarga del servidor — El servidor ha alcanzado su límite de CPU, RAM o conexiones. Esto ocurre durante picos de tráfico, contenido viral o cuando los bots rastrean el sitio de forma agresiva.

  • Mantenimiento programado — El administrador del sitio desconectó el servidor intencionalmente para actualizaciones, migraciones o despliegues. Las páginas de mantenimiento correctamente configuradas devuelven 503 con un encabezado Retry-After.

  • Plugin o tema defectuoso — En plataformas CMS como WordPress, Joomla o Magento, un plugin con errores, un conflicto de actualización de tema o una versión de PHP incompatible pueden bloquear la aplicación y provocar un 503.

  • Fallo de PHP-FPM o de la aplicación — El gestor de procesos PHP (php-fpm) se quedó sin workers disponibles, o el backend de la aplicación (Node.js, Python, Ruby) se bloqueó. El servidor web (Nginx/Apache) sigue funcionando pero no tiene backend al que reenviar las solicitudes.

  • Sobrecarga de la base de datos — La base de datos (MySQL, PostgreSQL) alcanzó su límite de conexiones, se quedó sin memoria o está bloqueada por una consulta de larga duración. La aplicación no puede obtener datos y devuelve 503.

  • Ataque DDoS — Un ataque de denegación de servicio distribuido inunda el servidor con solicitudes, agotando los recursos y haciendo que las solicitudes legítimas fallen con 503.

  • Configuración incorrecta de DNS o CDN — Cloudflare, AWS CloudFront u otra CDN no puede alcanzar el servidor de origen debido a cambios en el DNS, SSL expirado o problemas de lista blanca de IP.

  • Límites de recursos alcanzados — Los planes de hosting compartido tienen límites estrictos de CPU, RAM y conexiones simultáneas. Exceder estos límites hace que el proveedor de hosting restrinja o bloquee las solicitudes con 503.

Solución para Visitantes: Qué Puedes Hacer

Si eres un visitante que ve un error 503 en el sitio web de otra persona, el problema está en su servidor, no en tu dispositivo. Sin embargo, hay algunas cosas que puedes intentar.

  • Espera y actualiza — Como el 503 es temporal, espera 30-60 segundos y actualiza la página. El servidor puede estar reiniciándose o finalizando un despliegue.

  • Comprueba si el sitio está caído para todos — Usa la herramienta HTTP Headers de DNS Robot para verificar el código de respuesta del servidor desde un servidor externo. Si devuelve 503 para todos, el sitio está realmente caído.

  • Borra la caché del navegador — En casos raros, tu navegador puede haber almacenado en caché la página de error 503. Borra la caché e inténtalo de nuevo.

  • Prueba con otro navegador o dispositivo — Descarta problemas de caché o extensiones específicas del navegador.

  • Consulta las redes sociales del sitio — El sitio puede haber publicado sobre mantenimiento programado o una interrupción conocida en X (Twitter) o en su página de estado.

Tip

Usa el Verificador de Puertos de DNS Robot en /port-checker para comprobar si los puertos 80 (HTTP) y 443 (HTTPS) del servidor web están aceptando conexiones. Si los puertos están cerrados, el servidor en sí puede estar caído, no solo la aplicación.

Solución 1: Reinicia Tu Servidor Web

Después de reiniciar, prueba el sitio web inmediatamente. Si el 503 vuelve en pocos minutos, la causa raíz sigue presente: procede a verificar los logs y los recursos.

bash
# Restart Nginx
sudo systemctl restart nginx

# Restart Apache
sudo systemctl restart apache2      # Debian/Ubuntu
sudo systemctl restart httpd         # CentOS/RHEL

# Restart PHP-FPM
sudo systemctl restart php8.2-fpm    # Adjust version as needed

# Restart Node.js (PM2)
pm2 restart all

# Restart entire server (last resort)
sudo reboot

Solución 2: Verifica los Recursos del Servidor (CPU, RAM, Disco)

Si la CPU o la RAM están por encima del 90%, necesitas optimizar tu aplicación, matar procesos descontrolados o mejorar tu servidor. Si el espacio en disco está lleno, limpia archivos de log, copias de seguridad antiguas o archivos temporales.

bash
# Check CPU and memory usage
top -bn1 | head -20

# Check disk space
df -h

# Check memory in detail
free -m

# Check active connections
ss -s

# Find processes using the most memory
ps aux --sort=-%mem | head -10

# Find processes using the most CPU
ps aux --sort=-%cpu | head -10

Warning

El disco lleno es un asesino silencioso. Si /var/log se llena o el directorio de datos de la base de datos se queda sin espacio, el servidor empezará a devolver 503 sin ningún mensaje de error obvio.

Solución 3: Revisa los Logs de Error

Mensajes comunes en los logs que causan 503:

"upstream timed out" o "no live upstreams" (Nginx) — PHP-FPM o la app backend no está respondiendo. Reinicia php-fpm o aumenta los timeouts.

"server reached pm.max_children" (PHP-FPM) — Todos los workers PHP están ocupados. Aumenta pm.max_children en la configuración del pool de PHP-FPM.

"Too many connections" (MySQL) — El límite de conexiones de la base de datos está agotado. Aumenta max_connections en la configuración de MySQL u optimiza las consultas.

"Cannot allocate memory" — El servidor se quedó sin RAM. Cierra procesos innecesarios o añade espacio de swap.

bash
# Nginx error log
tail -50 /var/log/nginx/error.log

# Apache error log
tail -50 /var/log/apache2/error.log      # Debian/Ubuntu
tail -50 /var/log/httpd/error_log         # CentOS/RHEL

# PHP-FPM log
tail -50 /var/log/php8.2-fpm.log

# WordPress debug log (if WP_DEBUG_LOG is enabled)
tail -50 /var/www/html/wp-content/debug.log

# System log
tail -50 /var/log/syslog

Solución 4: Desactiva Plugins y Temas (WordPress / CMS)

Después de identificar el plugin defectuoso, actualízalo, reemplázalo con una alternativa o contacta al desarrollador del plugin. También verifica si tu versión de PHP es compatible: algunos plugins fallan cuando el servidor actualiza PHP.

bash
# Disable all plugins by renaming the plugins folder
cd /var/www/html/wp-content
mv plugins plugins_disabled

# If the site loads, rename it back and re-enable plugins one by one
mv plugins_disabled plugins

# To disable a single plugin
mv plugins/problem-plugin plugins/problem-plugin.disabled

Solución 5: Aumenta los Límites de PHP y del Servidor

Si tu servidor se queda sin workers PHP o alcanza los límites de memoria, necesitas aumentar los límites en tu configuración.

bash
# PHP-FPM pool config (e.g., /etc/php/8.2/fpm/pool.d/www.conf)
pm = dynamic
pm.max_children = 50          # Increase from default (5-10)
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20
pm.max_requests = 500

# PHP memory limit (php.ini)
memory_limit = 256M           # Increase from default 128M
max_execution_time = 300      # Increase from default 30

# Restart PHP-FPM after changes
sudo systemctl restart php8.2-fpm

Warning

No aumentes pm.max_children a ciegas a un número muy alto. Cada worker PHP consume RAM (normalmente 20-40 MB). Configurar max_children en 100 en un servidor con 2 GB de RAM hará que el servidor use swap y se vuelva aún más lento.

Solución 6: Verifica la Configuración de DNS y CDN

Para diagnosticar, usa el DNS Lookup de DNS Robot para verificar que tu dominio apunta a la IP correcta. Usa la herramienta HTTP Headers de DNS Robot para comprobar qué código de estado devuelve el servidor. Si el DNS apunta a Cloudflare pero la IP de origen ha cambiado, actualiza el registro A en el panel de Cloudflare.

  • 503 con marca de Cloudflare: La página de error tiene el logotipo de Cloudflare — esto significa que el centro de datos de Cloudflare tiene un problema (poco frecuente).

  • 503 de origen a través de Cloudflare: La página de error es simple o tiene el diseño de tu sitio — esto significa que tu servidor de origen devolvió 503 y Cloudflare lo pasó tal cual.

Solución 7: Verifica Ataques DDoS o de Bots

Si encuentras miles de solicitudes de una sola IP o un rango pequeño de IPs, bloquéalas a nivel de firewall. Para ataques DDoS a gran escala, activa el "Modo Bajo Ataque" de Cloudflare o usa la protección DDoS de tu proveedor de hosting. Puedes usar el Verificador de IP Blacklist de DNS Robot para comprobar si las IPs atacantes ya están en listas negras conocidas.

bash
# Count requests per IP in the last 1000 lines
tail -1000 /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -rn | head -20

# Check requests per second
awk '{print $4}' /var/log/nginx/access.log | cut -d: -f1-3 | uniq -c | sort -rn | head -10

# Block an abusive IP with iptables
sudo iptables -A INPUT -s 1.2.3.4 -j DROP

# Or block with Nginx
# Add to server block: deny 1.2.3.4;

Solución 8: Soluciona Problemas de Conexión con la Base de Datos

Si encuentras muchas conexiones dormidas, tu aplicación no está cerrando las conexiones de la base de datos correctamente. Si las consultas de larga duración están bloqueando a otras, optimiza esas consultas o mátalas para desbloquear la base de datos.

bash
# Check if MySQL/MariaDB is running
sudo systemctl status mysql

# Restart MySQL
sudo systemctl restart mysql

# Check current connections vs limit
mysql -e "SHOW STATUS LIKE 'Threads_connected';"
mysql -e "SHOW VARIABLES LIKE 'max_connections';"

# Increase max connections (temporary)
mysql -e "SET GLOBAL max_connections = 200;"

# Check for long-running queries
mysql -e "SHOW PROCESSLIST;" | head -20

Solución 9: Contacta a Tu Proveedor de Hosting

Si estás en hosting compartido, WordPress administrado o una plataforma como Squarespace, Wix o Shopify, puede que no tengas acceso a los logs del servidor ni la capacidad de reiniciar servicios. En estos casos, el 503 puede estar causado por la infraestructura del proveedor de hosting.

Contacta al soporte de tu proveedor de hosting y proporciona:

  • La URL exacta que devuelve 503

  • Cuándo empezó el error — anota la fecha y la hora

  • Qué cambió — ¿instalaste un plugin, actualizaste un tema o cambiaste configuraciones de DNS?

  • Si es intermitente o constante — errores 503 intermitentes sugieren límites de recursos; errores 503 constantes sugieren un bloqueo o configuración incorrecta

503 vs Otros Errores HTTP

La diferencia clave: 503 es explícitamente temporal. Una respuesta 503 bien configurada incluye un encabezado Retry-After que indica a los clientes exactamente cuándo volver. Google trata el 503 de forma diferente al 500: reintentará y preservará tus rankings si la interrupción es breve.

CódigoNombreSignificado¿Temporal?
500Internal Server ErrorEl servidor encontró un error inesperado (bug, bloqueo, configuración incorrecta)Quizás
502Bad GatewayUn proxy/balanceador de carga recibió una respuesta inválida del servidor upstreamQuizás
503Service UnavailableEl servidor está activo pero temporalmente no puede procesar solicitudes (sobrecarga, mantenimiento)Sí
504Gateway TimeoutUn proxy/balanceador de carga no recibió respuesta del servidor upstream a tiempoQuizás
520-530Errores CloudflareErrores específicos de Cloudflare para problemas de conexión con el origenVaría

Cómo Prevenir Errores 503

La prevención es mejor que apagar incendios. Estas son las mejores prácticas para evitar errores 503.

  • Monitoriza los recursos del servidor — Configura alertas para CPU > 80%, RAM > 85% y disco > 90%. Herramientas como UptimeRobot, Pingdom o Grafana proporcionan notificaciones instantáneas.

  • Usa una CDN — Cloudflare, Fastly o AWS CloudFront almacenan en caché los recursos estáticos y absorben picos de tráfico, reduciendo la carga en el servidor de origen.

  • Activa la caché — Usa Redis, Memcached o Varnish para almacenar en caché consultas a la base de datos y páginas renderizadas. Usuarios de WordPress: instala un plugin de caché como WP Super Cache o W3 Total Cache.

  • Auto-escalado — Si usas hosting en la nube (AWS, GCP, Azure, DigitalOcean), configura el auto-scaling para añadir más servidores durante picos de tráfico.

  • Limita la tasa de bots — Configura Nginx o Cloudflare para limitar la tasa de crawlers y scrapers agresivos antes de que sobrecarguen tu servidor.

  • Optimiza las consultas de la base de datos — Las consultas lentas son la causa #1 de errores 503 relacionados con la base de datos. Añade índices, optimiza los joins y usa caché de consultas.

  • Usa una página de mantenimiento adecuada — Durante los despliegues, devuelve 503 con un encabezado Retry-After en vez de dejar que el servidor se bloquee. Esto preserva el SEO e informa a los usuarios.

  • Mantén el software actualizado — Actualiza tu CMS, plugins, PHP y base de datos a las últimas versiones estables para evitar errores conocidos y problemas de seguridad.

Comprueba si un sitio web devuelve 503

Usa la herramienta gratuita HTTP Headers de DNS Robot para verificar el código de respuesta HTTP, encabezados e información del servidor de cualquier sitio web. Comprueba al instante si un sitio está devolviendo 503 Service Unavailable.

Try HTTP Headers Checker

Frequently Asked Questions

El error HTTP 503 (Service Unavailable) significa que el servidor web no puede procesar tu solicitud temporalmente. El servidor es accesible pero está sobrecargado, en mantenimiento o su aplicación backend se ha bloqueado. Es una condición temporal: el sitio debería volver a funcionar por sí solo.

Related Tools

Http HeadersPort CheckerIp Blacklist Checker

Table of Contents

  • ¿Qué Es el Error HTTP 503?
  • Cómo Se Ve un Error 503
  • Causas Comunes del Error HTTP 503
  • Solución para Visitantes: Qué Puedes Hacer
  • Solución 1: Reinicia Tu Servidor Web
  • Solución 2: Verifica los Recursos del Servidor (CPU, RAM, Disco)
  • Solución 3: Revisa los Logs de Error
  • Solución 4: Desactiva Plugins y Temas (WordPress / CMS)
  • Solución 5: Aumenta los Límites de PHP y del Servidor
  • Solución 6: Verifica la Configuración de DNS y CDN
  • Solución 7: Verifica Ataques DDoS o de Bots
  • Solución 8: Soluciona Problemas de Conexión con la Base de Datos
  • Solución 9: Contacta a Tu Proveedor de Hosting
  • 503 vs Otros Errores HTTP
  • Cómo Prevenir Errores 503
  • FAQ