Cómo saber si tu página está caída, y que te avise antes que tus clientes
Cómo revisarla en diez segundos, cómo saber si está caída para todos o solo para ti, las causas más comunes con qué hacer en cada una, y cómo enterarte sin estar mirando: a las 3 de la mañana, en un despliegue o el día que vence el certificado.
1. Revísala ahora
La forma más rápida: escribe la dirección en ¿Está caída tu página?, nuestro comprobador gratis y sin cuenta. La revisamos desde nuestro servidor, fuera de tu red, y en segundos te dice si contesta, con qué código, cuánto tarda y cuántos días le quedan al certificado.
Si prefieres la terminal:
# el código y cuánto tardó, siguiendo redirecciones
curl -sS -L -o /dev/null --max-time 10 -w '%{http_code} en %{time_total}s\n' https://tusitio.mx
Cómo leer lo que contesta:
| Si contesta… | Quiere decir |
|---|---|
| 200 | Está arriba. Si tarda más de un segundo, ya se siente lenta. |
| 301, 302 | Te manda a otra dirección. Normal (de http a https, o a www), siempre que al final llegue a un 200. |
| 401, 403, 404 | El servidor está, pero no te deja pasar o esa dirección no existe. Revisa que sea la dirección correcta. |
| 500 | El servidor está y tu aplicación falló. Es un error en el código o en algo de lo que depende, como la base de datos. |
| 502, 503, 504 | Lo que va delante (Nginx, Cloudflare, tu hosting) no pudo hablar con tu aplicación: está apagada, saturada o tardó demasiado. |
| 000 o «timeout» | Nadie contestó: el servidor está apagado, el dominio no apunta a ningún lado o algo bloquea la conexión. |
2. ¿Caída para todos o solo para ti?
Si el comprobador dice que está arriba y en tu navegador no abre, el problema está de tu lado. En ese orden:
- Ábrela con los datos del teléfono, sin wifi. Si así abre, es tu red o tu proveedor de internet.
- Abre una ventana privada, sin caché ni cookies.
- Revisa a dónde apunta el dominio:
dig +short tusitio.mx(en Windows,nslookup tusitio.mx). Si cambiaste de hosting hace poco, tu computadora puede seguir yendo al servidor viejo un rato.
Si el comprobador también dice que está caída, está caída para todos. Sigue con las causas.
3. Las causas más comunes, y qué hacer
| Lo que ves | La causa más probable | Qué hacer |
|---|---|---|
| 502 justo después de desplegar | La versión nueva no arrancó, o tarda en arrancar y el proxy ya le está mandando tráfico. | Revisa el log de arranque de tu app; si falla, regresa a la versión anterior. Que tu despliegue espere a que /health conteste antes de cambiar el tráfico. |
| 503 a ratos, en horas pico | Saturación: sin memoria, sin conexiones a la base de datos o sin procesos libres. | Mira memoria y CPU del servidor a esa hora, y el número de conexiones a la base. |
| 500 en una sola página | Un error en el código de esa ruta, o un dato que no esperaba. | Busca el error en tus logs a esa hora, con su stack. |
| «La conexión no es privada» o «no es segura» | El certificado venció o no corresponde al dominio. | Renuévalo (paso 4). Mientras, tus clientes ven una advertencia y la mayoría se va. |
| «No se puede encontrar el servidor» | DNS: el dominio venció, cambiaron sus registros o el proveedor de DNS está fallando. | Revisa la fecha de vencimiento del dominio con tu registrador, y los registros con dig. |
| Página del hosting en lugar de la tuya | La cuenta se suspendió, casi siempre por un pago que no pasó. | Revisa la tarjeta registrada en tu hosting y su correo de facturación. |
| Timeout, sin ningún código | El servidor está apagado, se quedó sin disco o un firewall bloquea el puerto. | Entra al panel de tu proveedor: ¿la máquina está encendida? ¿Le queda disco? |
4. El certificado: la caída que avisa con semanas
Un certificado vencido tumba tu página igual que un servidor apagado: el navegador pone una pantalla de advertencia y casi nadie le da «continuar». Lo raro es que se puede ver venir con semanas. Para saber cuándo vence el tuyo:
echo | openssl s_client -connect tusitio.mx:443 -servername tusitio.mx 2>/dev/null | openssl x509 -noout -enddate
Los certificados de Let's Encrypt duran 90 días y se renuevan solos, mientras la renovación siga funcionando. Las veces que falla: cambiaste el DNS, cerraste el puerto 80 o se borró la tarea de renovación al migrar de servidor. Por eso conviene que algo te avise cuando le quedan pocos días, no el día que ya venció.
5. Qué dirección revisar
Revisar tu portada te dice si la portada abre. Pero tu portada puede estar en caché (en Cloudflare o en tu CDN) y contestar 200 aunque tu aplicación esté caída detrás. Revisa también una dirección que de verdad pase por tu aplicación y por lo que depende de ella:
// Express: /health contesta 200 solo si la base de datos contesta
app.get('/health', async (req, res) => {
try {
await db.query('SELECT 1');
res.json({ ok: true });
} catch {
res.status(503).json({ ok: false });
}
});
Que sea rápida y sin datos de nadie: la va a pedir un monitor cada minuto, y cualquiera puede abrirla.
6. Un monitor hecho en casa
Lo más simple que funciona: un script que corre cada minuto con cron y te manda un correo si la respuesta no es 200.
#!/bin/sh
# revisar.sh: en el crontab, «* * * * * /ruta/revisar.sh»
codigo=$(curl -s -o /dev/null --max-time 10 -w '%{http_code}' https://tusitio.mx/health)
if [ "$codigo" != "200" ]; then
echo "tusitio.mx contestó $codigo" | mail -s "Tu página no contesta" avisos@tudominio.mx
fi
Sirve para empezar, pero tiene cuatro problemas:
- Si corre en el mismo servidor que tu página, cuando se cae el servidor también se cae el monitor, y no te avisa de nada. Tiene que correr en otra máquina.
- Te avisa al primer fallo. Un 502 de 30 segundos durante un despliegue te manda un correo, y a la décima falsa alarma dejas de leerlos.
- No te avisa cuando regresa, ni cuánto duró.
- El correo no te despierta. Si se cae a las 3 de la mañana, lo lees a las 9.
7. Cuándo avisar, y a quién
- Después de unos minutos seguidos de falla, no al primero. Entre 2 y 5 minutos filtra los despliegues y los parpadeos de la red sin dejarte una caída real sin ver.
- Al teléfono, como notificación, no solo por correo. Y a quien pueda hacer algo, no a todo el equipo.
- Otra vez cuando regresa, con cuánto duró. Así sabes que ya no tienes que hacer nada, y tienes el dato para contarle a tus clientes.
- Antes de que venza el certificado, con días de sobra.
8. Una página de estado para tus clientes
Cuando tu página se cae, tus clientes te escriben a todos lados a la vez. Una página de estado pública (por ejemplo, estado.tusitio.mx) les contesta antes de que pregunten: qué está fallando, desde cuándo, y cómo le ha ido a tu servicio en los últimos meses. Si se actualiza sola con cada revisión, no tienes que acordarte de escribir en ella en medio del problema.
9. Lo que ningún monitor de páginas ve
Un monitor te dice si tu página contesta. No te dice si tu negocio funciona. Hay fallas en las que la página contesta 200 todo el día:
- El pago que no se confirmó, porque el webhook de Mercado Pago o Stripe nunca llegó (cómo saberlo).
- El cron que dejó de correr y ya no manda las facturas (cómo saberlo).
- El pedido pagado que nadie surtió, con el cliente esperando.
Estiaje hace las dos cosas. En la pantalla Salud pegas la dirección y revisa tu página cada minuto, desde fuera. Te avisa al teléfono y al correo cuando lleva 2, 5, 10 o 15 minutos sin contestar (tú eliges), y otra vez cuando regresa, con cuánto duró. Un certificado vencido cuenta como caída, así que también te avisa. Y te da una página de estado que se llena sola, con 90 días de historia. Y con unas líneas de código, te avisa también del pedido, el pago o el mensaje que se quedó a medias, con el dinero en riesgo.
Preguntas frecuentes
¿Cómo sé si una página está caída para todos o solo para mí?
Revísala desde fuera de tu red, con un comprobador como estiaje.mx/esta-caida o desde los datos de tu teléfono. Si desde fuera abre y en tu computadora no, el problema es tu red, tu caché o tu DNS. Si desde fuera tampoco abre, está caída para todos.
¿Qué significa un error 502 o 503?
Que lo que va delante de tu aplicación (Nginx, Cloudflare o tu hosting) no pudo hablar con ella. Un 502 casi siempre es que la aplicación está apagada o no arrancó, muchas veces justo después de un despliegue; un 503, que está saturada o en mantenimiento.
¿Cada cuánto conviene revisar mi página?
Cada minuto, y avisar solo después de 2 a 5 minutos seguidos de falla. Así te enteras de una caída real en minutos sin despertarte por un despliegue de 30 segundos.
¿Cómo sé cuándo vence mi certificado SSL?
Con un comprobador como estiaje.mx/esta-caida, que dice cuántos días le quedan, o en la terminal con openssl s_client y openssl x509 -noout -enddate. Los de Let's Encrypt duran 90 días y se renuevan solos mientras la renovación siga funcionando.
¿Sirve revisar mi página con un cron en el mismo servidor?
No del todo: si se cae el servidor, se cae también el monitor y no te avisa. El monitor tiene que correr en otra máquina, avisar después de unos minutos seguidos de falla y avisar también cuando la página regresa.