Volver al blog
Guides

SSL gratis para todos tus sitios: cómo funciona Let's Encrypt (y cómo automatizarlo)

Pagar por certificados SSL no tiene sentido desde 2016. Let's Encrypt los emite gratis — pero el trabajo real es renovarlos cada 90 días, para siempre, sin caídas. Así funcionan de verdad TLS y ACME, cómo arreglar los errores comunes, y cómo hacer de la renovación algo en lo que nunca piensas.

S
ShadowPanel Team
7 min de lectura

Hubo un tiempo en que un certificado SSL era una partida de la factura — 50 a 200 € al año, por dominio, comprado a un revendedor e instalado a mano. Desde que Let's Encrypt se lanzó en 2016, eso simplemente se acabó. El HTTPS es ahora gratuito, automatizable y esperado: los navegadores marcan el HTTP simple como «No seguro», y Google trata el HTTPS como una señal de posicionamiento. Si en 2026 sigues pagando por un certificado básico de validación de dominio, estás pagando por nada.

Pero «gratis» esconde el trabajo real. Un certificado de Let's Encrypt solo es válido 90 días. El valor nunca fue el certificado — es mantener el certificado de cada sitio renovado, para siempre, sin una caída a las 3 de la madrugada cuando uno caduca en silencio. Este artículo explica cómo funcionan de verdad TLS y Let's Encrypt, cómo arreglar los errores que todo el mundo encuentra, y cómo hacer de la renovación un problema en el que no tendrás que volver a pensar.

Repaso en 60 segundos: qué hace en realidad TLS

Cuando un navegador conecta por HTTPS, TLS (el sucesor de SSL — seguimos diciendo «SSL» por costumbre) hace dos trabajos:

  • Cifrado — nadie entre el navegador y tu servidor puede leer el tráfico. Contraseñas, sesiones y datos de formulario siguen siendo privados en cualquier red.
  • Identidad — un certificado, firmado por una autoridad de certificación (CA) de confianza, demuestra que el servidor es de verdad example.com y no un impostor. Eso es lo que significa el candado.

Un certificado no es más que una clave pública más unas afirmaciones de identidad, firmadas criptográficamente por una CA en la que el navegador ya confía. Lo difícil, históricamente, era conseguir que una CA lo firmara — eso implicaba dinero y pasos manuales. Let's Encrypt automatizó exactamente eso.

Cómo demuestra Let's Encrypt que posees el dominio (ACME)

Let's Encrypt es una CA gratuita y automatizada. No firmará un certificado para example.com hasta que demuestres que controlas ese dominio, mediante un protocolo llamado ACME. Hay dos formas de superar el reto:

  • HTTP-01 — la CA pide a tu servidor que coloque un archivo token concreto en http://tudominio/.well-known/acme-challenge/…. Recupera esa URL; si el token está ahí, controlas claramente el sitio. Esto necesita el puerto 80 accesible y funciona para un nombre de host a la vez.
  • DNS-01 — la CA te pide publicar un registro TXT concreto en _acme-challenge.tudominio. Consulta el DNS; si el registro coincide, quedas validado. Este no necesita un servidor web abierto y es la única forma de obtener un certificado wildcard (*.tudominio).

Una vez validada, la CA firma tu certificado. Un cliente como certbot automatiza todo el baile — solicitar, demostrar, recibir, instalar — y puede recargar tu servidor web para que el nuevo certificado entre en vigor sin caídas.

La renovación es el trabajo de verdad

Aquí está la parte que se subestima. Esa vida de 90 días es deliberada: los certificados de corta duración limitan el daño de una clave robada y fuerzan la automatización. Pero significa que cada certificado debe renovarse aproximadamente cada 60 días (se renueva antes de caducar, no el mismo día). Si se te pasa, los visitantes reciben una advertencia del navegador a pantalla completa — de las que hacen que la gente se vaya y no vuelva.

El consejo estándar es una tarea cron que ejecuta certbot renew dos veces al día; certbot solo renueva de verdad los certificados dentro de la ventana de 30 días. Funciona — hasta que deja de hacerlo: una renovación falla en silencio porque el puerto 80 quedó bloqueado, o un registro DNS cambió, o un archivo de bloqueo de certbot obsoleto impide la ejecución, y nadie lo nota hasta que el certificado caduca. Renovar no es difícil; notar una renovación fallida es donde se queman los sitios.

Los errores que todo el mundo encuentra (y la solución)

  • «Timeout during connect» / falla HTTP-01 — la CA no pudo alcanzar el puerto 80. Comprueba que tu cortafuegos (UFW/cortafuegos cloud) permita la entrada por 80, y que el DNS del dominio apunte de verdad a este servidor.
  • «DNS problem: NXDOMAIN» / registro no encontrado — el dominio aún no resuelve, o estás emitiendo antes de la propagación. Espera a que el DNS se propague; para DNS-01, confirma que el registro TXT _acme-challenge está activo antes de validar.
  • Un registro CAA prohíbe la emisión — un registro DNS CAA en tu dominio restringe qué CA pueden emitir. Añádele letsencrypt.org, o quita el registro restrictivo.
  • «Too many certificates already issued» (límite de tasa) — Let's Encrypt limita los certificados por dominio registrado y semana. Mientras pruebas, usa el entorno de staging para no agotar tu cuota de producción, y luego cambia a producción cuando funcione.
  • Certificado renovado, pero el sitio sigue sirviendo el antiguo — el servidor web no se recargó tras la renovación. La renovación debe disparar un nginx -s reload (o equivalente) para tomar el nuevo certificado.

Ninguno es exótico. Pero diagnosticarlos en una docena de sitios, a mano, es justo el tipo de tarea recurrente que un panel existe para eliminar.

Hacerlo a mano es engorroso — automatízalo

Cablear certbot, elegir el reto correcto, abrir el puerto 80, programar un cron de renovación, hacer que recargue nginx, y vigilar que las renovaciones tengan éxito de verdad — para cada dominio, para siempre — son muchas piezas móviles que mantener correctas. Ese es el trabajo repetitivo y fácil de olvidar que un panel debería asumir.

ShadowPanel convierte el SSL en un no-evento:

  • Emisión en un clic. Apunta un dominio a tu servidor y emítele un certificado Let's Encrypt gratuito — el panel ejecuta certbot, gestiona el reto y recarga nginx para que el HTTPS esté activo de inmediato.
  • Renovación automática, vigilada. Un worker programado comprueba a diario y renueva cualquier certificado a menos de 30 días de caducar — mucho antes de la fecha límite. Limpia los bloqueos de certbot obsoletos antes de cada ejecución, para que un archivo de bloqueo residual no pueda impedir la renovación en silencio, y registra los fallos en lugar de fallar sin avisar.
  • Soporte wildcard para *.tudominio mediante validación DNS, para que cada subdominio quede cubierto por un solo certificado.
  • Gratis en todos los niveles. El SSL no es un extra de pago — cada sitio que alojas obtiene HTTPS cifrado sin coste adicional, incluido en el nivel gratuito.

El resultado: emites una vez, y la renovación simplemente nunca se convierte en tu problema. Esa fiabilidad importa más cuando alojas muchos sitios — consulta alojar varios sitios de clientes en un solo VPS, donde un certificado caducado es un cliente descontento.

En resumen

El SSL gratis ya no es el logro — Let's Encrypt lo resolvió en 2016. El trabajo real es renovar un certificado de 90 días para cada sitio, para siempre, y saber cuándo falla una renovación antes que tus visitantes. Entiende los dos retos ACME, mantén sano el puerto 80 (o tus registros DNS) y, sobre todo, automatiza la renovación con vigilancia. ShadowPanel hace todo eso por defecto, gratis en todos los niveles, para que el HTTPS sea algo que configuras una vez y en lo que no vuelves a pensar.

curl -fsSL https://shadowpanel.de/install.sh | bash

Ver precios y descargar →

Usamos cookies

Usamos cookies para mejorar su experiencia y recordar sus preferencias. Puede gestionar sus opciones a continuación. Más información.

ShadowPanel

Gestione sus preferencias de cookies a continuación. Las cookies esenciales siempre están activas ya que son necesarias para el funcionamiento del sitio.

Esenciales

Necesarias para el funcionamiento del sitio, incluida la autenticación de sesión y la protección CSRF. No se pueden desactivar.

Siempre activo

Funcionales

Recuerda su preferencia de idioma para que no tenga que volver a seleccionarla en cada visita.

Analíticas

Nos ayuda a entender cómo usan los visitantes el sitio para mejorarlo. No se venden datos personales.

Marketing

Utilizado por Google Ads para medir las conversiones publicitarias y mejorar la segmentación de campañas. No se venden datos personales.