Caídas de sitios web

¿Qué Provoca que una Web Se Caiga?

De servidores que se bloquean y actualizaciones defectuosas a certificados caducados y renovaciones de dominio olvidadas: estos son los motivos más habituales por los que una web se cae, y lo que puedes hacer para evitar cada uno.

Portada de la guía: Caídas de sitios web
Índice

Las webs rara vez se caen por motivos misteriosos. La mayoría de las caídas encajan en un puñado de categorías conocidas, y muchas pueden evitarse con un poco de preparación. Este artículo repasa las causas más habituales de las caídas, cómo reconocer cada una y qué puedes hacer para reducir el riesgo.

1. Fallos del hosting y del servidor

El servidor en el que funciona tu web es una máquina física o virtual, y las máquinas fallan. Una avería de hardware, una máquina virtual bloqueada, un volumen de almacenamiento estropeado o un problema en el centro de datos del proveedor pueden dejar una web sin servicio.

Cómo se manifiesta: tiempos de espera agotados o conexiones rechazadas, que a menudo afectan a todas las páginas y a veces a otras webs del mismo servidor.

Prevención: elige un hosting de buena reputación, guarda las copias de seguridad en un lugar distinto del propio servidor y, para las webs importantes, plantéate la redundancia, como varios servidores detrás de un balanceador de carga. Averigua dónde publica tu proveedor sus actualizaciones de estado.

2. Agotamiento de recursos

Los servidores tienen límites de memoria, CPU, espacio en disco y conexiones. Cuando uno se agota, la web se ralentiza y al final deja de responder. Un disco lleno es el ejemplo clásico: los registros o los archivos subidos crecen hasta que la base de datos ya no puede escribir y, de repente, todas las páginas fallan.

Cómo se manifiesta: tiempos de respuesta que aumentan de forma constante, seguidos de errores 500, 502, 503 o 504, o de tiempos de espera agotados.

Prevención: vigila el uso de disco y memoria del servidor, rota y comprime los registros y sigue la tendencia del tiempo de respuesta en tu monitoreo de uptime. Una ralentización gradual suele ser la primera señal de aviso. Consulta nuestra guía sobre el tiempo de respuesta de un sitio web.

3. Picos de tráfico

Un boletín, una mención en redes sociales, unas rebajas o una noticia pueden traer muchos más visitantes de lo habitual. Si el servidor no está dimensionado para ello, el tráfico legítimo por sí solo puede desbordarlo.

Prevención: usa caché (caché de páginas y una CDN para los archivos estáticos), haz pruebas de carga antes de las campañas previstas y asegúrate de que tu plan de hosting puede crecer cuando haga falta. Si sabes que se acerca un pico, avisa a tu proveedor de hosting.

4. Tráfico malicioso y ataques

Los ataques de denegación de servicio distribuida (DDoS) inundan deliberadamente una web de solicitudes. Los bots y scrapers agresivos pueden tener un efecto parecido sin ninguna mala intención. Además, el hosting puede desconectar una web comprometida para proteger al resto de sus clientes.

Prevención: pon la web detrás de un proveedor con protección contra DDoS, limita la frecuencia de las solicitudes a los endpoints costosos, mantén el software actualizado y usa contraseñas robustas y únicas con autenticación en dos pasos para el acceso de administración. Lee ¿Qué es un certificado SSL? para conocer una parte del panorama de la seguridad.

5. Despliegues y actualizaciones defectuosos

Una gran parte de las caídas empieza justo después de un cambio: se despliega código nuevo, se actualiza un plugin del CMS, se edita un archivo de configuración o se actualiza una dependencia. Un solo error de sintaxis o una versión incompatible pueden convertir todas las páginas en un error.

Cómo se manifiesta: errores HTTP 500 que empiezan a una hora concreta que coincide con un cambio.

Prevención:

  • prueba primero los cambios en un entorno de pruebas;
  • despliega a horas en las que alguien pueda vigilar el resultado;
  • ten una forma rápida de volver a la versión anterior;
  • actualiza los plugins y los temas de uno en uno para saber cuál causó el problema;
  • revisa tu monitor de uptime justo después de cada despliegue.

6. Problemas de la base de datos

La mayoría de las webs dinámicas dependen de una base de datos. Si el servidor de la base de datos está caído, sobrecargado, sin conexiones disponibles o sin espacio en disco, la web suele mostrar una página de error aunque el servidor web funcione bien.

Prevención: monitorea la base de datos por separado cuando sea posible, configura un pool de conexiones, mantén controladas las consultas lentas y asegúrate de probar las copias de seguridad restaurándolas de verdad.

7. Problemas de DNS

El DNS traduce tu nombre de dominio a la dirección IP de tu servidor. Si los registros son incorrectos, faltan o el proveedor de DNS sufre una caída, los visitantes no pueden encontrar tu web en absoluto, aunque el servidor funcione perfectamente.

Entre las causas habituales están las erratas en los registros tras una migración, borrar el registro equivocado, cambiar los servidores de nombres sin copiar todos los registros y una mala configuración de DNSSEC.

Prevención: documenta tus registros DNS, baja el TTL antes de los cambios previstos, comprueba los cambios con una consulta DNS y lee Cómo los problemas de DNS pueden dejar tu web caída.

8. Certificados SSL/TLS caducados

Los certificados tienen fecha de caducidad. Cuando pasa, los navegadores muestran un aviso de seguridad a pantalla completa y la mayoría de los visitantes se van. La renovación automática ha hecho que esto sea menos frecuente, pero las renovaciones todavía pueden fallar sin avisar, por ejemplo tras un cambio de servidor, un cambio de DNS o una regla de firewall que bloquea la solicitud de validación.

Prevención: usa la renovación automática y vigila la fecha de caducidad de forma independiente. La herramienta para comprobar el certificado SSL te la muestra al instante, y UptimeStats la registra en cada comprobación HTTPS de las webs que monitoreas.

9. Registros de dominio caducados

Los nombres de dominio se registran por un periodo fijo. Si el pago de la renovación falla porque caducó una tarjeta o porque los correos de recordatorio fueron a una dirección antigua, el dominio puede dejar de resolverse. En el peor de los casos, otra persona podría acabar registrándolo.

Prevención: activa la renovación automática, mantén al día el correo de contacto y los datos de pago de la cuenta del registrador y plantéate registrar los dominios importantes por varios años.

10. Dependencias de terceros

Las webs modernas dependen de servicios externos: CDN, pasarelas de pago, servicios de autenticación, APIs externas, servidores de fuentes y scripts. Cuando uno de ellos falla, partes de tu web pueden romperse, o toda la página puede quedarse colgada esperando un recurso que nunca llega.

Prevención: carga los scripts no esenciales de forma asíncrona, define tiempos de espera razonables para las llamadas a APIs, diseña alternativas para cuando algo falle y averigua dónde publica cada proveedor sus actualizaciones de incidentes.

Mantenimiento programado

No todas las caídas son accidentales. Las actualizaciones de servidores, las migraciones de bases de datos y las grandes actualizaciones a veces obligan a desconectar la web durante un rato. Una parada programada hace mucho menos daño cuando se planifica en horas tranquilas, se anuncia con antelación y se acompaña de una página de mantenimiento adecuada que devuelve HTTP 503 Service Unavailable con una cabecera Retry-After, lo que indica a los buscadores que la caída es temporal.

Detectar las caídas rápidamente

Cuando sospeches de una caída, una herramienta para comprobar si una web está caída te dice en segundos si está caída para todos y qué capa falló.

La prevención reduce las caídas, pero nunca las elimina. La otra mitad del trabajo es la detección: cuanto antes lo sepas, más corta será la caída. El monitoreo de uptime comprueba tu web desde fuera a intervalos regulares y te avisa cuando algo falla.

Ejemplo de cronología de una caída: una comprobación falla a las 10:05, una comprobación de confirmación a las 10:06 abre el incidente y envía un único correo de caída, las comprobaciones continúan sin correos repetidos y el sitio se recupera a las 10:21 con un único correo de recuperación.Ejemplo de cronología de una caída: una comprobación falla a las 10:05, una comprobación de confirmación a las 10:06 abre el incidente y envía un único correo de caída, las comprobaciones continúan sin correos repetidos y el sitio se recupera a las 10:21 con un único correo de recuperación.
Ejemplo de cómo se detecta, se alerta y se cierra una caída confirmada.

UptimeStats clasifica cada fallo, como un fallo de DNS, un tiempo de espera agotado, un error de SSL, una conexión rechazada o un error HTTP, para que la propia alerta te oriente hacia una de las causas de este artículo. Los fallos se confirman con una segunda comprobación antes de avisarte, y cada incidente se registra con su hora de inicio, su duración y su motivo. Para saber cómo funciona el monitoreo, lee Monitoreo de sitios web: guía completa para principiantes.

Resumen

CausaSíntoma típicoPrevención clave
Fallo del servidorTiempos de espera, conexiones rechazadasHosting fiable, copias de seguridad, redundancia
Agotamiento de recursosLentitud y luego errores 5xxVigilar disco, memoria y tiempos de respuesta
Picos de tráficoLentitud, 503 o tiempos de esperaCaché, CDN, pruebas de carga
AtaquesTiempos de espera, carga altaProtección DDoS, límites de frecuencia, actualizaciones
Despliegue defectuosoErrores 500 tras un cambioEntorno de pruebas, plan de vuelta atrás
Problemas de la base de datosPáginas de error, 500Monitoreo, pool de conexiones, copias probadas
Errores de DNS"Servidor no encontrado"Registros documentados, cambios cuidadosos
Certificado caducadoAviso de seguridad del navegadorRenovación automática y vigilancia de la caducidad
Dominio caducadoEl dominio deja de resolverseRenovación automática, contactos al día
Fallo de un terceroFallos parciales, páginas colgadasCarga asíncrona, tiempos de espera, alternativas

Artículos relacionados