Tutorial

Renovación SSL fallida: diagnosticar antes de reintentar

Seguridad y monitorización11 min de lectura10 pasos

El navegador muestra una advertencia de certificado, o un mensaje avisa de que una renovación ha fallado. El reflejo habitual es concluir que el SSL automático está roto en el proveedor y relanzar la emisión una y otra vez. En la gran mayoría de los casos el mecanismo funciona: ha cambiado una condición de validación, ya sea un DNS modificado, una redirección nueva, un cortafuegos activado, un registro CAA o un proxy CDN. Esta guía ofrece el árbol de diagnóstico, los comandos para leer cada señal y dónde relanzar una vez eliminada la causa.

Contenido· Un certificado caducado no significa un proveedor averiado1/12
  1. 01Un certificado caducado no significa un proveedor averiado
  2. 02Qué verifica la renovación en cada vencimiento
  3. 03El diagnóstico en seis pasos
  4. 04Síntoma, causa probable, corrección
  5. 05Cuando el DNS apunta a otro lugar
  6. 06Cuando una redirección o un cortafuegos intercepta el desafío
  7. 07Cuando un registro CAA excluye a la autoridad
  8. 08Cuando un proxy CDN se interpone
  9. 09Los mensajes de error que se encuentran y su causa
  10. 10Dónde relanzar, una vez corregida la causa
  11. 11Prevenir en lugar de diagnosticar
  12. 12Corregir la condición, no el síntoma

Un certificado caducado no significa un proveedor averiado

Un certificado gratuito se renueva solo, sin que nadie haga clic. Cuando caduca de todos modos, la conclusión espontánea es que el servicio automático ha fallado. Rara vez es cierto. La renovación no es una acción del proveedor: es un diálogo entre la autoridad de certificación y su dominio, repetido en cada vencimiento, y solo tiene éxito si el dominio responde como la primera vez.

Pero un sitio evoluciona. Alguien cambió los servidores DNS, añadió una regla de redirección en el archivo .htaccess, activó un cortafuegos de aplicaciones web, puso el dominio detrás de un CDN o publicó un registro CAA. Cada uno de estos gestos es legítimo, y cada uno puede impedir la validación sin que el sitio deje de mostrarse. El error aparece semanas después, en el vencimiento, lejos del cambio que lo provocó. Relanzar la emisión sin corregir nada solo produce el mismo fallo. Hay que leer la señal, encontrar la condición que se movió, restablecerla y relanzar una sola vez.

Qué verifica la renovación en cada vencimiento

Para emitir o renovar un certificado, la autoridad debe asegurarse de que quien lo pide controla realmente el dominio. Procede en cuatro tiempos, y el fallo está siempre en uno de ellos.

Primero resuelve el nombre: el DNS debe responder y devolver la dirección del servidor correcto, tanto en IPv4 como en IPv6. Después, en la validación por archivo, solicita http://your-domain.com/.well-known/acme-challenge/ en el puerto 80 y espera el contenido exacto que colocó el cliente ACME. En tercer lugar consulta los registros CAA del dominio para comprobar que ninguno le prohíbe emitir. Por último, sigue las redirecciones eventuales, pero rechaza una respuesta de error o una página de bloqueo.

Esta secuencia explica el árbol de diagnóstico: ¿el dominio apunta al servidor correcto?, ¿es accesible el desafío?, ¿lo intercepta una redirección o un cortafuegos?, ¿un CAA excluye a la autoridad?, ¿está el proxy en un modo compatible? Los pasos siguientes prueban estos cinco puntos en ese orden.

El diagnóstico en seis pasos

  1. Leer la fecha de caducidad real

    No se fíe de un mensaje: lea el certificado que se sirve realmente. openssl s_client -connect your-domain.com:443 -servername your-domain.com </dev/null 2>/dev/null | openssl x509 -noout -dates -issuer muestra las fechas de inicio y fin y el emisor. Si la fecha de fin ha pasado, la renovación falló de verdad. Si sigue vigente, la advertencia viene de otro lado: otro nombre de dominio no cubierto, o una cadena incompleta.

  2. Comprobar adónde apunta el dominio

    dig +short A your-domain.com y luego dig +short AAAA your-domain.com deben devolver la dirección del servidor que aloja el sitio. Un registro AAAA olvidado que apunta a un servidor antiguo es una causa clásica: la autoridad prueba primero IPv6 y cae en la máquina equivocada. Compruebe también dig +short NS your-domain.com para confirmar que los servidores de nombres son aquellos donde edita la zona.

  3. Probar la ruta del desafío en HTTP

    Coloque un archivo de prueba en la carpeta .well-known/acme-challenge/ de la raíz web y ejecute curl -I http://your-domain.com/.well-known/acme-challenge/test.txt. Resultado esperado: un código 200. Un 301 hacia HTTPS es aceptable, un 403 o un 404 no. Añada -L para seguir la cadena de redirecciones y detectar un bucle o un destino inesperado.

  4. Identificar lo que responde realmente

    Compare las cabeceras de la respuesta: el campo server o via delata un proxy, un CDN o un cortafuegos de aplicaciones interpuesto. Si la respuesta es una página de verificación anti-robot, la autoridad, que no es un navegador, nunca la superará. Relea también las reglas del .htaccess: una directiva que niega el acceso a los archivos que empiezan por un punto bloquea .well-known.

  5. Leer los registros CAA

    dig CAA your-domain.com +short enumera las autoridades autorizadas. Sin respuesta, no hay restricción. Una respuesta que no nombra a su autoridad, por ejemplo 0 issue "other-authority.example", prohíbe la emisión. Suba también al dominio padre: un CAA publicado en your-domain.com se aplica a todos sus subdominios que no tengan el suyo.

  6. Consultar el registro del cliente de emisión

    El registro nombra la causa exacta. En un VPS, certbot certificates da el estado y /var/log/letsencrypt/letsencrypt.log detalla cada intento. En cPanel, el registro de AutoSSL de la página Certificados SSL indica el dominio y el motivo del fallo. Anote el mensaje exacto: la tabla siguiente lo vincula con su causa.

Síntoma, causa probable, corrección

Desplace la tabla

Síntoma observadoCausa probableCorrección
Dominio no resuelto (NXDOMAIN)Zona DNS eliminada, servidores de nombres cambiados o registro ausenteRestablecer el registro A en la zona autoritativa
Tiempo agotado al conectarPuerto 80 cerrado o dirección AAAA que apunta a otro servidorAbrir el puerto 80, corregir o quitar el registro AAAA
Respuesta 404 en el desafíoRaíz web distinta, regla de reescritura que desvía la rutaServir `.well-known/acme-challenge/` desde la raíz correcta
Respuesta 403 en el desafíoCortafuegos de aplicaciones, bloqueo de archivos ocultos, filtro por paísExcluir esta ruta de las reglas de bloqueo
Demasiadas redireccionesBucle entre HTTP, HTTPS, www y dominio sin prefijoCorregir la regla de redirección, probar con `curl -IL`
CAA que prohíbe la emisiónRegistro CAA que no nombra la autoridad utilizadaAñadir la autoridad al registro CAA o quitarlo
Página de verificación en lugar del archivoProxy CDN o protección anti-robot activa en la rutaDesactivar el desafío en `/.well-known/acme-challenge/`

Cuando el DNS apunta a otro lugar

Es la causa más frecuente y la más discreta. Tras una migración, un cambio de proveedor o una limpieza de zona, el dominio sigue mostrándose gracias a la caché o a un registro A correcto, mientras que un registro AAAA sigue apuntando al servidor antiguo. La autoridad prefiere IPv6 cuando existe: consulta la máquina antigua, que ya no conoce el archivo del desafío, y la validación falla aunque desde su equipo todo parezca en orden.

La comprobación es sencilla: compare dig +short A your-domain.com y dig +short AAAA your-domain.com con la dirección real del servidor. Si no usa IPv6, elimine el registro AAAA en lugar de dejarlo apuntando a otro sitio. Verifique también que el dominio usa los servidores de nombres donde acaba de corregir la zona; el procedimiento para modificar un registro se detalla en la guía para añadir o modificar un registro DNS. Después, espere a que termine el plazo de caché anunciado por el valor antiguo antes de relanzar.

Cuando una redirección o un cortafuegos intercepta el desafío

El desafío es una petición HTTP corriente que la autoridad envía desde sus propios servidores. Todo lo que responda en su lugar, o le responda algo distinto del archivo esperado, hace fallar la validación. Tres configuraciones causan el problema con regularidad.

La primera es la redirección que cambia de dominio: una regla que envía todo el tráfico de your-domain.com a otra dirección, incluida la ruta del desafío, manda a la autoridad a buscar el archivo a un sitio que no lo tiene. La segunda es la regla de seguridad que rechaza los archivos cuyo nombre empieza por un punto: protege .env o .git, pero también bloquea .well-known. La tercera es el cortafuegos de aplicaciones o el filtrado por país, que trata a la autoridad como un visitante desconocido y responde 403.

La solución no es desactivar la protección, sino excluir con precisión la ruta /.well-known/acme-challenge/ de las reglas de redirección y bloqueo. Una redirección de HTTP a HTTPS sigue siendo aceptable, siempre que conserve la ruta solicitada y termine en el mismo dominio.

Cuando un registro CAA excluye a la autoridad

Un registro CAA es una lista blanca publicada en el DNS: enumera las autoridades autorizadas a emitir para el dominio. Es una buena herramienta de seguridad, pero caduca en silencio. Alguien publica 0 issue "an-authority.example" durante una auditoría, luego el alojamiento pasa a otra autoridad, o AutoSSL cambia de proveedor, y la emisión se rechaza con un mensaje que menciona CAA.

Para corregirlo, lea el resultado de dig CAA your-domain.com +short, identifique la autoridad que usa su servicio (en cPanel, la columna Emisor de la página Certificados SSL) y añada una línea issue con su nombre. Si no necesita esta restricción, elimine el registro. Recuerde que un CAA se lee subiendo por el árbol: el del dominio principal se aplica a los subdominios. Y para un certificado que cubre un subdominio comodín, puede hacer falta una línea issuewild aparte.

Cuando un proxy CDN se interpone

Poner un dominio detrás de un CDN en modo proxy cambia lo que ve la autoridad. Ya no habla con su servidor, sino con el del CDN, que puede responder en su lugar con un certificado de borde, una página de verificación o una regla de seguridad propia. Según el modo elegido, la renovación del certificado de origen funciona o no.

Importan dos ajustes. Primero, el modo de cifrado entre el CDN y el origen: en modo flexible, el CDN habla en claro con el origen, lo que provoca un bucle de redirección si su servidor fuerza HTTPS; en modo estricto, exige un certificado de origen válido, de modo que la caducidad se hace visible de inmediato como un error de origen. Segundo, las protecciones activas en la ruta del desafío: hay que levantarlas para /.well-known/acme-challenge/ o pasar a una validación por registro DNS, que no depende del tráfico web. Durante el diagnóstico también puede desactivar temporalmente el proxy en el único registro afectado, relanzar la emisión y volver a activarlo.

Los mensajes de error que se encuentran y su causa

  • DNS problem: NXDOMAIN looking up A — el nombre no se resuelve: zona ausente, servidores de nombres modificados, error tipográfico en el dominio solicitado.
  • Timeout during connect (likely firewall problem) — la autoridad no llega al puerto 80: cortafuegos, grupo de seguridad del proveedor o registro AAAA hacia una máquina que no escucha.
  • Invalid response ... 404 — el servidor responde, pero no encuentra el archivo: raíz web equivocada, una reescritura que desvía la ruta o el sitio servido por otro host virtual.
  • Invalid response ... 403 — un bloqueo activo: cortafuegos de aplicaciones, regla que niega archivos ocultos, filtrado por país o protección anti-robot.
  • CAA record for your-domain.com prevents issuance — un registro CAA no nombra la autoridad utilizada; añádala o elimine la restricción.
  • Fallo de validación del control del dominio en AutoSSL — el registro indica que el dominio no apunta a este servidor o que la petición de validación fue desviada; retome los pasos 2 a 4.

Dónde relanzar, una vez corregida la causa

  1. En un alojamiento web cPanel

    Abra la página Seguridad de cPanel, pestaña Certificados SSL, relance la comprobación de AutoSSL del dominio y relea la columna de caducidad. El procedimiento paso a paso se describe en la guía para comprobar y relanzar el certificado SSL en cPanel.

  2. En un VPS con certbot

    Pruebe primero sin emitir nada: certbot renew --dry-run repite la validación en un entorno de prueba. Si la prueba pasa, certbot renew emite de verdad; después recargue el servidor web para que sirva el archivo nuevo. La instalación completa se describe en la guía de certificados Let's Encrypt en VPS.

  3. Con una cadena ACME automatizada

    Si una herramienta gestiona la emisión por usted, corrija la causa y lance su renovación manual una sola vez. Para fiabilizar este flujo a largo plazo, consulte la automatización ACME con certificados de corta duración.

  4. Verificar el resultado

    Vuelva a ejecutar el comando openssl s_client del primer paso: la fecha de fin debe haber cambiado. Recargue el sitio en una ventana de navegación privada, porque el navegador puede conservar el certificado antiguo en memoria.

Prevenir en lugar de diagnosticar

Cada vez que modifique el DNS, añada una redirección, active un cortafuegos o pase detrás de un CDN, repita de inmediato la prueba del desafío con curl -I. Vigilar la fecha de caducidad, con una alerta al acercarse el vencimiento, convierte un sitio con error en un simple ticket que se atiende con calma. Anote en el expediente del sitio qué autoridad emite el certificado: es la información que más falta el día en que un CAA bloquea la emisión.

Corregir la condición, no el síntoma

Una renovación que falla casi siempre indica que ha cambiado una condición de validación: el nombre ya no apunta al lugar correcto, la ruta del desafío está bloqueada o desviada, se excluye a una autoridad, un proxy se ha colado entre ella y el servidor. El orden de lectura es constante: resolución DNS, acceso al puerto 80, respuesta en la ruta del desafío, registro CAA, modo del proxy. Una vez restablecida la causa, basta un solo reintento. El alojamiento web de ServOrbit.com incluye SSL gratuito renovado automáticamente; cuando la validación falla, la causa se lee en el registro de AutoSSL y se corrige con los comandos anteriores.

Un SSL que se renueva sin vigilancia

Los alojamientos web de ServOrbit.com incluyen un certificado SSL gratuito, emitido y renovado automáticamente. Si una validación falla, el registro de AutoSSL indica la causa y el diagnóstico está documentado paso a paso.

¿Necesita ayuda?

Consulte nuestro centro de ayuda y nuestra FAQ, o contacte con nuestro equipo: llamada, WhatsApp o correo electrónico. Soporte en francés, inglés y árabe.

Escribir por WhatsAppse abre en una pestaña nueva