Saltar al contenido
🚀 10 herramientas disponibles, gratis para siempre — y seguimos creciendo
Inicio›Blog›Cómo arreglar un certificado SSL caducado, paso a paso
Guías

Cómo arreglar un certificado SSL caducado, paso a paso

Tus visitantes están viendo un aviso de certificado caducado. Así se confirma que es realmente caducidad, se renueva e instala el nuevo certificado, se averigua por qué se detuvo la renovación automática y se evita que vuelva a ocurrir.

✍ Por el fundador y CEO, equipo BuildToolForge🗓 2026-10-16⏱ 10 min
ssltlscertificate expiryrenewalcertificate chain
Guía de herramienta de seguridad2026

Renovación del certificado
sin complicaciones

Tu sitio muestra un aviso de certificado caducado

Orden de la cadena · Renovación automática · Recarga

openssl · s_client
$ openssl s_client -connect example.com:443
notAfterDec 30 23:59:59 2026 GMT
chainleaf + intermediate
servedold cert until reload
✓ quedan 72 días · cadena completa
Pasos de renovación
Comprobar
Caducidad real
Emitir
Nuevo certificado
Instalar
Cadena completa
Recargar
El servidor
Volver a probar
Desde fuera
Automatizar
La próxima vez
Confirma la caducidad realCorrige la cadenaRestaura la renovación automáticaComprueba tras recargar

Qué significa en realidad «certificado caducado»

Todo certificado TLS lleva dos fechas: no antes de y no después de. El navegador compara el reloj con esas fechas en cada conexión. Pasada la fecha de no después de, el certificado ya no prueba nada, así que el navegador se niega a continuar y muestra un aviso a pantalla completa en lugar de tu sitio.

De ahí se derivan tres cosas, y son la razón de que esto sea urgente y no estético:

  • No se ha roto nada en tu servidor. El sitio funciona, los archivos están bien, la base de datos está bien. Ha pasado una fecha.
  • No es gradual. No hay modo degradado: el sitio funciona hasta el segundo en que caduca y después es una página de aviso para cada visitante.
  • Afecta a más que a los navegadores. Los clientes de API, las apps móviles, los webhooks de las pasarelas de pago y cualquier cosa que use una librería HTTP estricta también rechazarán la conexión, y normalmente con un error mucho menos útil.

La solución siempre tiene la misma forma: consigue un certificado nuevo, instálalo y recarga el servicio que lo sirve. La mayor parte del tiempo que se pierde con este problema se va en el segundo y el tercer paso, no en el primero.

Primero, confirma que es realmente caducidad

Varios problemas distintos producen una página de aviso de aspecto parecido, y la solución de cada uno es completamente diferente. Lee el código de error, no el titular.

  • NET::ERR_CERT_DATE_INVALID: esto es caducidad (o un reloj del servidor gravemente desajustado). Sigue con esta guía.
  • NET::ERR_CERT_COMMON_NAME_INVALID: el certificado es válido pero no cubre el nombre que visitaste. Habitual cuando se dejó fuera www o un subdominio nuevo.
  • NET::ERR_CERT_AUTHORITY_INVALID: autofirmado, o la autoridad emisora no es de confianza, o falta un certificado intermedio en lo que envía el servidor.
  • SSL_ERROR_BAD_CERT_DOMAIN (la redacción de Firefox): la misma discrepancia de nombre que arriba.

Comprueba las fechas desde fuera de tu propia máquina y no desde el navegador que ya tienes delante, para que ni una caché local ni un proxy obsoleto te engañen. Un verificador de certificados SSL muestra el emisor, las fechas de validez, los días restantes y todos los nombres que cubre el certificado. Si la fecha final está en el pasado, lo has confirmado, y además sabes si los nombres que necesitas están en el certificado, lo que te ahorra una segunda ronda de todo esto.

Renovar e instalar: cuatro pasos

Estos cuatro pasos son todo el trabajo. El tercero es el que se salta la gente.

1. Consigue un certificado nuevo

Con Let's Encrypt o cualquier cliente ACME suele ser un solo comando —certbot renew o el botón de renovar de tu panel—. Si la renovación está fallando y no es solo que se te ha pasado la fecha, salta a la sección de fallos de renovación más abajo, porque volver a ejecutar el comando fallará igual.

Con un certificado de pago puede que tengas que generar una CSR nueva, completar otra vez la validación del dominio y descargar los archivos emitidos. Conserva la clave privada con la que generaste la CSR: sin ella el certificado no sirve para nada.

2. Instala la cadena completa, no solo el certificado

Tu servidor necesita enviar tu certificado y los certificados intermedios que lo conectan con una raíz de confianza. Una autoridad de certificación suele darte tanto el archivo de la hoja como un paquete o archivo de cadena; instalar solo la hoja produce un error de autoridad no válida en algunos clientes y una situación inexplicable de «en mi navegador funciona», porque los navegadores a menudo guardan intermedios de otros sitios mientras que un cliente recién llegado no.

Apunta tu configuración al archivo de cadena completa (Let's Encrypt lo llama fullchain.pem) y a la clave privada que le corresponde.

3. Recarga el servicio

Escribir los archivos por sí solo no cambia nada. El proceso en ejecución cargó el certificado antiguo en memoria al arrancar y seguirá sirviéndolo hasta que se le diga otra cosa. Recarga nginx, Apache, Caddy, HAProxy, el balanceador de carga o lo que termine el TLS. Esta es, de largo, la razón más común de que un certificado correctamente renovado siga apareciendo como caducado.

Si el TLS se termina en otro sitio —una CDN, un proxy inverso, un balanceador gestionado, el borde de una plataforma—, eso es lo que necesita el certificado nuevo, y los archivos de tu servidor de origen pueden ser irrelevantes.

4. Verifica desde fuera

Vuelve a comprobar el nombre de host en producción desde fuera de tu red y confirma la nueva fecha de validez y los nombres cubiertos. No te fíes de tu propio navegador, que puede seguir mostrándote una conexión en caché o una página intermedia. Comprueba www y el ápice por separado si ambos sirven el sitio: pueden tener certificados distintos.

Cuando la renovación automática se detuvo en silencio

Si tienes un cliente ACME, que el certificado caduque significa que la renovación lleva semanas fallando, normalmente en una tarea programada que nadie lee. Las causas habituales, más o menos por frecuencia:

  • El desafío HTTP-01 ya no llega al servidor. Una redirección nueva que manda todo el tráfico HTTP a HTTPS, una regla de cortafuegos o una reescritura que captura /.well-known/acme-challenge/ rompen la validación. Esa ruta debe seguir accesible por HTTP en claro.
  • El DNS ha cambiado. El nombre ahora apunta a otro sitio, así que el desafío lo sirve un host que no tiene el token. Si has movido el hosting hace poco, es casi seguro esto: consulta el nombre y mira a dónde resuelve de verdad con una herramienta de consulta DNS.
  • Un nombre del certificado ya no existe. ACME renueva el conjunto completo de una vez, así que un subdominio retirado que ya no resuelve hace fallar toda la renovación, incluidos los nombres que siguen activos.
  • El temporizador o la tarea programada no se está ejecutando. Tras migrar de servidor o actualizar el sistema, el temporizador de systemd o la entrada de cron a menudo simplemente han desaparecido.
  • El cliente es demasiado antiguo. Los endpoints de ACME v1 llevan tiempo muertos; un cliente sin actualizar durante años no puede renovar nada.

Ejecuta la renovación a mano y lee el error en lugar de volver a programarla y cruzar los dedos. Una ejecución en seco te dice si el próximo intento automático funcionaría, que es la única pregunta que importa.

Cuando el certificado está bien pero la cadena no

A veces tu propio certificado tiene validez de sobra y el sitio sigue fallando. La explicación habitual es que ha caducado un certificado intermedio de la cadena, o que tu servidor envía una cadena obsoleta que incluye una raíz con firma cruzada ya caducada.

Esto provocó una caída famosa en 2021, cuando caducó una raíz muy utilizada y miles de sitios que servían una cadena antigua empezaron a fallar en clientes viejos mientras se veían perfectamente bien en los navegadores del momento. El síntoma es característico: los navegadores de escritorio modernos están contentos, mientras que los dispositivos antiguos, algunas apps móviles y los clientes HTTP de servidor rechazan la conexión.

La solución es reinstalar la cadena que tu autoridad de certificación publica ahora y no el archivo que descargaste hace años, y luego recargar. Inspecciona lo que tu servidor envía de verdad —no lo que crees que envía— y confirma cada certificado de la cadena, con su propia fecha de caducidad, con el verificador de certificados.

Por qué sigue diciendo caducado después de arreglarlo

Has renovado, has instalado, has recargado y el aviso sigue ahí. Repasa esto en orden:

  • El TLS lo termina otra cosa. Una CDN o un proxy delante de tu origen sirve su propio certificado a los visitantes. Actualízalo ahí.
  • Hay más de un servidor detrás del nombre. Con varios backends tras un balanceador, un certificado instalado en uno de ellos significa que aproximadamente la mitad de tus visitantes siguen viendo el antiguo, y que recargar la página a veces lo arregla, que es la pista.
  • Tu navegador te muestra un estado en caché. Prueba una ventana privada, otro navegador o una comprobación desde fuera de tu red.
  • Varios hosts virtuales y solo uno actualizado. El nombre que probaste no es el que usó el visitante. Comprueba cada nombre por separado.
  • La recarga no llegó a ocurrir. Un fallo en la comprobación de configuración suele significar que el servicio sigue en marcha con la configuración y el certificado antiguos. Mira el estado del servicio, no solo el código de salida de tu comando.

Cómo asegurarte de que no vuelva a pasar

La caducidad es la caída más evitable que existe, porque la fecha límite se publica con meses de antelación.

  • Automatiza la renovación y luego verifica la automatización. Un cliente ACME con su temporizador y una ejecución en seco que hayas visto funcionar de verdad. Una automatización sin probar no es automatización.
  • Vigila los días restantes, no solo el uptime. Una comprobación de disponibilidad pasa hasta el mismo instante de la caducidad y no te dice nada antes. Avisa a 21 días y otra vez a 7.
  • Mantén honesta la lista de nombres del certificado. Quita los subdominios retirados para que un nombre muerto no pueda tumbar la renovación completa.
  • Atención a las vidas más cortas. La duración de los certificados lleva años acortándose y va a seguir acortándose. Cualquier proceso que dependa de que una persona se acuerde se va a romper; automatizar ya no es opcional.
  • Revisa la cadena después de cada migración. Mudarse de hosting es el momento en que aparece un intermedio obsoleto o un terminador de TLS olvidado.

Si quieres el panorama completo de lo que contiene un certificado y de cómo leer una cadena, la guía para comprobar certificados SSL/TLS repasa cada campo.

Errores comunes

  • Instalar el certificado nuevo y no recargar el servicio. La causa más común de «lo he arreglado y sigue roto».
  • Instalar la hoja sin la cadena de intermedios. Funciona en tu navegador y falla para otros clientes.
  • Repetir sin cambios una renovación que falla. Fallará igual; lee primero el error.
  • Juzgar el arreglo desde el navegador que ya estabas usando. Verifica desde fuera de tu red.
  • Arreglar el ápice y olvidar www, o al revés.
  • Borrar la clave privada en plena prisa. Sin ella no se puede instalar el certificado nuevo.
  • Confiar en un monitor de uptime para que te avise de la caducidad. No puede.

En resumen

Un certificado caducado es un problema de fechas, no del servidor: confirma que el error es de verdad NET::ERR_CERT_DATE_INVALID, emite un certificado nuevo, instala la cadena completa con su clave privada correspondiente, recarga el servicio que termina el TLS y después verifica la nueva fecha de caducidad desde fuera de tu red. Si la renovación debía ser automática, averigua por qué se detuvo —normalmente una ruta de desafío ACME bloqueada, un cambio de DNS o un subdominio retirado— antes de volver a programarla. Después vigila los días restantes para que el siguiente no llegue nunca a cero. Comprueba el certificado de cualquier dominio, su cadena y su fecha exacta de caducidad con el verificador gratuito de certificados SSL, y confirma a dónde apunta el nombre con la herramienta de consulta DNS.

Herramientas y guías relacionadas:

Preguntas frecuentes

¿Cómo arreglo un certificado SSL caducado?⌄

Emite un certificado nuevo, instálalo junto con su cadena de intermedios y la clave privada correspondiente, y luego recarga el servicio que termina el TLS: nginx, Apache, tu balanceador de carga o tu CDN. Por último, verifica la nueva fecha de caducidad desde fuera de tu red, porque una caché local puede seguir mostrándote el estado antiguo.

¿Por qué mi certificado sigue apareciendo como caducado después de renovarlo?⌄

Casi siempre porque no se recargó el servicio: el proceso en ejecución mantiene el certificado antiguo en memoria hasta que se reinicia. Las otras causas habituales son que una CDN o un proxy delante de tu origen sirve su propio certificado, que solo se actualizó uno de varios backends o que estás comprobándolo desde un navegador con la conexión en caché.

¿Puedo seguir usando mi sitio con un certificado caducado?⌄

Puedes saltarte el aviso en un navegador de escritorio, pero tus visitantes no lo harán y los clientes que no son navegadores no pueden. Las llamadas de API, las apps móviles y los webhooks de las pasarelas de pago rechazan la conexión directamente, así que trátalo como una caída completa y no como un aviso estético.

¿Por qué dejó de funcionar la renovación automática de Let’s Encrypt?⌄

Normalmente porque el desafío HTTP-01 ya no llega a tu servidor —una redirección nueva a HTTPS o una regla de cortafuegos que bloquea /.well-known/acme-challenge/— o porque el DNS ahora apunta a otro sitio, un subdominio del certificado ya no resuelve o el temporizador de renovación desapareció en una migración. Ejecuta la renovación a mano y lee el error.

¿Con cuánta antelación debería renovar?⌄

Automatízalo y renueva en torno a un tercio de la vida restante del certificado, que es lo que hacen por defecto los clientes ACME. Avisa sobre los días restantes a 21 días y otra vez a 7, ya que un monitor de uptime pasará hasta el instante mismo en que el certificado caduque.

Sobre el autor
Fundador y CEO, BuildToolForge
Síguenos en X: @Buildtoolforge

Más de 15 años de experiencia práctica en desarrollo web y seguridad. Centrado en la seguridad web práctica: mantener los sitios seguros, fiables y fáciles de diagnosticar. BuildToolForge existe para que estas comprobaciones sean gratuitas, privadas y comprensibles. Las herramientas se ejecutan en tu navegador siempre que es posible, y nada de lo que introduces en una herramienta se guarda.

Cómo escribimos nuestras guías: Cada guía nace de la experiencia práctica, se contrasta con los estándares oficiales y se prueba con nuestras propias herramientas en dominios reales. Actualizamos las guías cuando cambian los estándares o las herramientas. ¿Has visto un error? Escríbenos a contact@buildtoolforge.com.

Última actualización: 2 de noviembre de 2026