Volver al blog

Certificado SSL caducado - qué hacer

· 6 min de lectura

Un certificado SSL caducado bloquea el acceso con aviso de conexión no segura y la conversión cae a cero. Qué hacer de inmediato y cómo evitarlo.

Certificado SSL caducado - qué hacer

Lo que ve el visitante

Un certificado caducado dispara un aviso a pantalla completa en el navegador:

  • Chrome / Edge: "Your connection is not private" (NET::ERR_CERT_DATE_INVALID)
  • Firefox: "Warning: Potential Security Risk Ahead" (SEC_ERROR_EXPIRED_CERTIFICATE)
  • Safari: "This Connection Is Not Private"

Un visitante normal hace clic en "Atrás". La gran mayoría de los visitantes abandonan la página ante un aviso así. Los crawlers de los buscadores (Googlebot, Bingbot) dejan de indexar y tras unos días empiezas a perder posiciones en búsquedas.

Procedimiento si acaba de caducar

  1. Identifica quién emitió el cert. En el terminal: openssl s_client -connect mywebsite.com:443 -servername mywebsite.com < /dev/null 2>/dev/null | openssl x509 -noout -issuer -dates
  2. Let's Encrypt (gratis, validez 90 días): típicamente vía certbot renew o vía el panel del hosting (One-click renewal).
  3. Cert comercial (DigiCert, Sectigo, GlobalSign): inicia sesión en el panel admin del emisor, genera un nuevo CSR y pasa la validación de dominio (registro DNS TXT o email).
  4. Despliega el nuevo cert al reverse proxy (nginx, Caddy, Traefik) y reinicia o recarga el proceso.
  5. Verifica vía SSL Labs o vía nuestra herramienta SSL check que el cert se sirve correctamente y la cadena de certificados está completa.

Atención: No olvides el cert intermedio - sin él los navegadores modernos pueden cargar la chain vía AIA, pero los clientes antiguos y algunas bibliotecas API fallarán.

Renovación automática: Let's Encrypt + certbot

La prevención más sencilla es automatizar completamente la renovación. El cert Let's Encrypt se renueva cada 90 días vía certbot:

# /etc/cron.d/certbot-renew
0 3 * * * root certbot renew --quiet --deploy-hook "systemctl reload nginx"

Este cron corre cada día a las 3:00 de la mañana. Certbot comprueba internamente si el cert se acerca a la caducidad (cuando queda menos de un tercio de su vida útil, lo que para un cert Let's Encrypt de 90 días equivale a aproximadamente 30 días antes del final). Si es así, lo renueva y recarga nginx en caso de éxito. Si no, no hace nada.

Caddy y Traefik: totalmente automático

Si usas Caddy o Traefik como reverse proxy, el ACME challenge está integrado directamente en el binario. Basta marcar el dominio en el config y el servidor solicita y renueva el cert por sí mismo:

# Caddyfile
mywebsite.com {
  reverse_proxy localhost:3000
}

Sin certbot, sin cron. Caddy llama en segundo plano a la API de Let's Encrypt y gestiona todo el ciclo de renovación.

Certs comerciales: validez 1-3 años

Desde septiembre de 2020 todos los certs públicamente confiables tienen una vida útil máxima de 398 días (CA/B Forum baseline). Algunas empresas siguen prefiriendo CAs comerciales, y ello por estas razones:

  • Extended Validation (EV) muestra la organización en la barra de direcciones (Chrome ya no la muestra de forma prominente desde 2019).
  • Wildcard para muchos subdominios aunque Let's Encrypt ya soporta wildcards vía DNS-01.
  • Garantía responsabilidad financiera de la CA en caso de compromise.
  • Compliance / auditoría algunos sectores tienen requisitos externos.

Para la mayoría de sitios Let's Encrypt u otra CA gratuita (ZeroSSL, Buypass) basta.

Monitorización de caducidad como red de seguridad

Incluso con renovación automática, la monitorización de caducidad funciona como seguro. La renovación puede fallar por varias razones:

  • rate limit por parte de la CA (Let's Encrypt: 5 duplicados / 7 días)
  • cambio DNS que rompe el ACME challenge
  • regla de firewall bloqueando el puerto 80 (HTTP-01 challenge)
  • caída del proceso certbot o del cron que nadie notó

ePulz.io rastrea la caducidad de cada endpoint monitorizado y envía alerta 30, 14, 7, 3 y 1 día antes del fin de validez. Basta una señal verde de que el cert se renovó a tiempo - y tienes la certeza de que la automatización funciona.

Activa la monitorización SSL

Alertas 30/14/7/3/1 días antes de la caducidad. Sin configuración, sin cambios DNS. 7 días gratis.

Iniciar monitorización →

Compartir: Enlace copiado

Prueba ePulz.io gratis - 7 días sin tarjeta de crédito.

Crear cuenta