Instalar Let's Encrypt SSL: HTTPS gratis paso a paso
Instalar Let's Encrypt es la forma más rápida y barata de proteger tu página web con HTTPS. Let's Encrypt es una autoridad de certificación gratuita y automatizada que permite obtener certificados SSL/TLS sin coste. En esta guía paso a paso aprenderás a instalar un certificado de Let's Encrypt en distintas plataformas y a conseguir que tu certificado se renueve automáticamente.
¿Qué es Let's Encrypt y por qué instalar un certificado de Let's Encrypt?
Let's Encrypt es una autoridad de certificación sin ánimo de lucro que emite certificados SSL/TLS gratuitos. El proyecto se lanzó con el objetivo de que toda la web pasara a HTTPS. Desde su lanzamiento se han emitido más de 3 mil millones de certificados. Al instalar un certificado de Let's Encrypt obtienes un certificado SSL completo en el que confían todos los navegadores, totalmente gratis.
Ventajas de Let's Encrypt
- 100 % gratis: sin costes por el certificado ni por la renovación
- Automatizado: instalación y renovación con Certbot u otras herramientas
- De confianza: reconocido por todos los navegadores y sistemas operativos importantes
- Seguro: usa los mismos estándares de cifrado que los certificados de pago
- Rápido: certificado disponible en unos minutos, sin periodo de espera
- Compatibilidad con wildcard: un certificado para todos los subdominios
Let's Encrypt frente a los certificados SSL de pago
| Característica | Let's Encrypt | De pago (DV) | De pago (OV/EV) |
|---|---|---|---|
| Precio | Gratis | De 10 a 100 € al año | De 100 a 500 € al año |
| Tipo de validación | Validación de dominio | Validación de dominio | Organización/Extendida |
| Validez | 90 días (renovación automática) | 1 año | 1-2 años |
| Cifrado | Idéntico | Idéntico | Idéntico |
| Confianza del navegador | Total | Total | Total + nombre de la empresa |
| Garantía | Ninguna | De 10.000 a 250.000 $ | De 250.000 a 1.750.000 $ |
| Wildcard | Sí | A veces (con coste adicional) | Sí |
Para la mayoría de las páginas web, Let's Encrypt es más que suficiente. Solo si necesitas un certificado Extended Validation (con el nombre de la empresa en el navegador) o quieres una garantía económica, es imprescindible un certificado de pago. Lee más sobre el coste de un certificado SSL si quieres comparar las opciones.
Instalar Let's Encrypt con Certbot
Certbot es el cliente oficial de Let's Encrypt y el método más utilizado para instalar Let's Encrypt. Certbot automatiza todo el proceso, desde solicitar el certificado hasta configurar tu servidor web.
Preparación
Antes de empezar a instalar Let's Encrypt, comprueba lo siguiente:
- Tienes acceso SSH a tu servidor (lee nuestra guía sobre conexiones al servidor)
- Tu dominio apunta a la dirección IP de tu servidor (DNS configurado correctamente)
- Los puertos 80 y 443 están abiertos en tu firewall
- Tu servidor web (Apache o Nginx) está instalado y configurado
Instalar Let's Encrypt en Ubuntu con Nginx
La configuración más habitual es Nginx en Ubuntu. Este es el proceso completo para instalar Let's Encrypt:
Paso 1: instalar Certbot
En Ubuntu instalas Certbot y el plugin de Nginx a través del gestor de paquetes. Se recomienda instalar Certbot mediante snap, que garantiza la versión más reciente. El paquete snap se llama certbot y el plugin de Nginx correspondiente se instala automáticamente con él.
Paso 2: solicitar el certificado
Ejecuta el comando certbot con la opción --nginx. Certbot detecta automáticamente los dominios que has configurado y te pregunta cuáles quieres proteger. El comando: sudo certbot --nginx
Certbot te pedirá:
- Tu dirección de correo electrónico (para avisos urgentes y recordatorios de renovación)
- Que aceptes las condiciones del servicio
- Si quieres apoyar a la Electronic Frontier Foundation
- Qué dominios quieres proteger
Paso 3: configuración automática
Certbot configura automáticamente tu servidor Nginx para HTTPS. Añade las directivas SSL adecuadas al bloque del servidor, incluida la ruta al certificado y a la clave privada. Opcionalmente, también configura una redirección de HTTP a HTTPS.
Paso 4: probar la renovación automática
Los certificados de Let's Encrypt son válidos durante 90 días. Certbot instala automáticamente un temporizador o una tarea cron que renueva el certificado antes de que caduque. Prueba la renovación automática con: sudo certbot renew --dry-run
Instalar Let's Encrypt en Ubuntu con Apache
Si usas Apache como servidor web, el proceso es parecido, pero con otro plugin de Certbot:
Paso a paso
- Instala Certbot con el plugin de Apache mediante snap
- Ejecuta el comando:
sudo certbot --apache - Selecciona los dominios que quieres proteger
- Elige si quieres redirigir HTTP a HTTPS
- Certbot configura Apache automáticamente
- Prueba la renovación automática
Instalar Let's Encrypt con DirectAdmin
Si usas DirectAdmin como panel de hosting, instalar Let's Encrypt es todavía más sencillo desde la interfaz gráfica:
- Inicia sesión en DirectAdmin como usuario
- Ve a SSL Certificates, dentro de Account Manager
- Selecciona Free & automatic certificate from Let's Encrypt
- Marca los dominios y subdominios que quieres proteger
- Haz clic en Save
- DirectAdmin instala y configura el certificado automáticamente
- La renovación automática también se configura de forma automática
Instalar Let's Encrypt para dominios wildcard
Un certificado wildcard protege tu dominio principal y todos los subdominios (*.example.com). Resulta útil si utilizas muchos subdominios.
Método del desafío DNS
Los certificados wildcard requieren validación DNS en lugar de validación HTTP. Tienes que añadir un registro TXT a tu configuración DNS para demostrar que gestionas el dominio. El comando: sudo certbot certonly --manual --preferred-challenges dns -d *.example.com -d example.com
Certbot te da un valor que debes añadir como registro TXT en _acme-challenge.example.com. Después de añadir el registro, espera a que el DNS se haya propagado y confírmalo en Certbot.
Desafío DNS automático
Para renovar automáticamente los certificados wildcard necesitas un plugin de DNS que modifique los registros TXT de forma automática. Certbot tiene plugins para proveedores de DNS populares como Cloudflare, Route53 y DigitalOcean.
Solucionar problemas al instalar Let's Encrypt
A veces instalar Let's Encrypt no sale a la primera. Estos son los problemas más habituales y sus soluciones:
El DNS no apunta a este servidor
Let's Encrypt verifica que tu dominio apunte a tu servidor. Revisa tu configuración de DNS y espera a que se hayan propagado los cambios (puede tardar hasta 24 horas).
El puerto 80 está bloqueado
El desafío HTTP de Let's Encrypt requiere que el puerto 80 sea accesible. Revisa la configuración de tu firewall y asegúrate de que ningún otro servicio esté usando el puerto 80.
Límite de peticiones alcanzado
Let's Encrypt tiene límites de peticiones: un máximo de 50 certificados por dominio registrado a la semana y un máximo de 5 validaciones fallidas por cuenta a la hora. Usa el entorno de pruebas (opción --staging) para hacer tus tests y no gastar tu límite.
El certificado no se renueva automáticamente
Comprueba si el temporizador de Certbot está activo con systemctl status certbot.timer. Si el temporizador no se está ejecutando, vuelve a iniciarlo. Revisa también los registros de Certbot por si hay mensajes de error.
Después de instalar Let's Encrypt: optimizar HTTPS
Tras instalar Let's Encrypt correctamente, hay pasos adicionales para optimizar tu configuración de HTTPS:
Configurar la redirección de HTTP a HTTPS
Asegúrate de que todo el tráfico HTTP se redirija automáticamente a HTTPS. Certbot puede configurarlo de forma automática, pero comprueba que la redirección funcione correctamente en todas las páginas de tu página web.
Activar HSTS
HTTP Strict Transport Security (HSTS) indica a los navegadores que tu página web debe visitarse siempre por HTTPS. Añade la cabecera HSTS a la configuración de tu servidor web con un valor max-age adecuado (como mínimo 31.536.000 segundos = 1 año).
Resolver el contenido mixto
Después de pasar a HTTPS pueden aparecer avisos de «contenido mixto» si tu página carga recursos HTTP (imágenes, scripts, hojas de estilo). Busca en tu página web enlaces HTTP y sustitúyelos por HTTPS o por URL relativas al protocolo.
Probar la configuración SSL
Prueba tu configuración SSL con herramientas como SSL Labs (ssllabs.com/ssltest) para comprobar que es segura. Intenta conseguir una puntuación A+ usando suites de cifrado modernas y desactivando los protocolos obsoletos.
Resumen
Instalar Let's Encrypt es un proceso sencillo que debería hacer todo propietario de una página web. Con los certificados SSL gratuitos ya no hay excusa para no proteger tu página web con HTTPS. Tanto si usas Certbot en la línea de comandos como la función integrada de tu panel de hosting, el resultado es el mismo: una conexión segura y cifrada que protege a tus visitantes y mejora tu posición en Google. No olvides configurar la renovación automática y optimizar tu configuración de HTTPS para conseguir la mejor seguridad y el mejor rendimiento. Echa también un vistazo a nuestra comparativa de HTTP frente a HTTPS para entender por qué HTTPS es tan importante.
Configuración avanzada después de instalar Let's Encrypt
Después de la instalación básica hay configuraciones avanzadas que mejoran tu entorno SSL.
Configurar OCSP Stapling
OCSP Stapling mejora el rendimiento y la privacidad de tu configuración SSL. Normalmente, el navegador consulta a una autoridad de certificación si tu certificado sigue siendo válido. Con OCSP Stapling, tu servidor web envía esa información junto con la respuesta, de modo que el navegador no tiene que hacer una petición adicional. Esto acelera el handshake SSL y reduce la dependencia de servicios externos.
Optimización de las suites de cifrado
Después de instalar Let's Encrypt es importante optimizar tus suites de cifrado. Desactiva las suites obsoletas y débiles y da prioridad a opciones modernas y seguras. Usa suites con forward secrecy para que el tráfico interceptado antes no pueda descifrarse a posteriori. Prueba tu configuración con SSL Labs para obtener una puntuación A+ y comprueba periódicamente si se han descubierto nuevas vulnerabilidades.
Monitorización de Certificate Transparency
Certificate Transparency es un marco abierto que registra todos los certificados SSL emitidos en registros públicos. Monitoriza estos registros para tu dominio y detecta si se han emitido certificados no autorizados. Herramientas como CertSpotter y el Facebook Certificate Transparency Monitor te avisan automáticamente cuando se detecta un certificado nuevo para tu dominio.
Evitar problemas al instalar Let's Encrypt
Con una buena preparación evitas los problemas más habituales al instalar Let's Encrypt. Antes de empezar, comprueba que tu DNS esté bien configurado y completamente propagado. Usa herramientas de consulta DNS para verificar que tu dominio apunta a la dirección IP correcta. Asegúrate de que no haya configuraciones de servidor web contradictorias que bloqueen el desafío ACME. Si estás detrás de una CDN como Cloudflare, quizá tengas que desactivar temporalmente el modo proxy o usar el método del desafío DNS en lugar del desafío HTTP. Documenta la configuración de tus certificados para poder resolver rápidamente futuros problemas de renovación. Llevar un registro con las fechas de instalación y renovación ayuda a gestionar tus certificados SSL de forma proactiva.
Instalar Let's Encrypt: certificados wildcard y validación DNS
Además de los certificados SSL estándar, con Let's Encrypt también puedes solicitar certificados wildcard. Un certificado wildcard cubre todos los subdominios de un dominio (por ejemplo, *.example.com), lo cual es ideal si tienes varios subdominios y no quieres instalar un certificado independiente para cada uno.
Los certificados wildcard requieren validación DNS en lugar de la validación HTTP habitual. Esto significa que tienes que añadir un registro TXT especial a tu configuración DNS para demostrar que eres el titular del dominio.
Diferencias entre los métodos de validación
| Método | Funcionamiento | Compatibilidad con wildcard | Automatización |
|---|---|---|---|
| HTTP-01 | Colocar un archivo en el webroot | No | Sencilla |
| DNS-01 | Añadir un registro TXT en el DNS | Sí | Posible mediante la API del DNS |
| TLS-ALPN-01 | Respuesta TLS especial en el puerto 443 | No | Limitada |
La mayoría de los proveedores de DNS ofrecen una API con la que puedes modificar los registros DNS automáticamente. Certbot admite plugins para proveedores de DNS populares como Cloudflare, DigitalOcean, Route53 y muchos otros. Así también puedes renovar los certificados wildcard de forma totalmente automática.
Instalar Let's Encrypt: configurar la renovación automática
Los certificados de Let's Encrypt son válidos durante 90 días, por lo que es esencial renovarlos con regularidad. La corta duración de la validez es una decisión deliberada para limitar el impacto de las claves comprometidas y fomentar la automatización.
Al instalarse, Certbot configura automáticamente una tarea cron o un temporizador de systemd para la renovación. Comprueba que esté bien configurado:
- Comprobar el temporizador de systemd: el temporizador se ejecuta por defecto dos veces al día y solo renueva los certificados que caducan en un plazo de 30 días.
- Post-renewal hooks: configura hooks que recarguen automáticamente tu servidor web después de la renovación. Sin esa recarga, tu servidor seguirá usando el certificado antiguo.
- Monitorizar los mensajes de error: configura las notificaciones por correo electrónico en Let's Encrypt para recibir un aviso si la renovación falla.
- Probar con dry-run: prueba el proceso de renovación sin renovar realmente, con la opción --dry-run, para detectar problemas a tiempo.
Si alojas varios dominios en el mismo servidor, puedes gestionar todos los certificados a la vez. Certbot lleva un control automático de cuándo caduca cada certificado y lo renueva en el momento adecuado.
Optimizar la configuración SSL después de instalar Let's Encrypt
Después de instalar Let's Encrypt es importante optimizar tu configuración SSL para lograr la máxima seguridad y el mejor rendimiento. Un certificado SSL por sí solo no basta: la forma en que tu servidor gestiona SSL/TLS determina el nivel de seguridad real.
- Desactiva los protocolos obsoletos: usa solo TLS 1.2 y TLS 1.3. Las versiones anteriores (SSL 3.0, TLS 1.0, TLS 1.1) contienen vulnerabilidades conocidas.
- Elige suites de cifrado robustas: da prioridad a cifrados AEAD como AES-256-GCM y ChaCha20-Poly1305.
- Activa HSTS: HTTP Strict Transport Security obliga a los navegadores a usar siempre HTTPS. Empieza con un max-age corto y auméntalo poco a poco.
- Configura OCSP Stapling: esto acelera la validación del certificado, porque el servidor guarda en caché la respuesta OCSP y la envía junto con el certificado.
- Prueba con SSL Labs: usa la herramienta gratuita SSL Server Test de Qualys para evaluar tu configuración. Intenta conseguir una puntuación A+.
Un certificado SSL bien configurado no solo mejora la seguridad, sino también la velocidad de tu página web. TLS 1.3 reduce notablemente la latencia del handshake en comparación con las versiones anteriores. Combina SSL con un firewall para tu página web para lograr una protección completa de tu tráfico web.
Instalar Let's Encrypt: certificados multidominio
Cuando alojas varios dominios o subdominios en el mismo servidor, con Let's Encrypt puedes solicitar un único certificado que cubra todos ellos. Esto simplifica notablemente la gestión de certificados y reduce el riesgo de olvidar renovaciones.
Con Certbot puedes especificar varios dominios al solicitar un certificado mediante la opción «-d». Cada dominio se valida por separado, así que asegúrate de que todos los dominios apunten al servidor correcto antes de solicitar el certificado. Puedes incluir hasta 100 nombres de dominio en un único certificado, lo que es más que suficiente para la mayoría de los escenarios de hosting.
Organiza tus certificados de forma lógica: agrupa en un único certificado los dominios que pertenezcan a la misma página web o aplicación, y usa certificados distintos para proyectos independientes. Así la gestión es más clara y evitas que un problema con la validación de un dominio bloquee la renovación de todo el certificado.
Alternativas a Let's Encrypt y cuándo encajan mejor
Aunque Let's Encrypt es excelente para la mayoría de las páginas web, hay situaciones en las que un certificado SSL de pago es la mejor opción. Entiende las diferencias para elegir bien en tu situación concreta.
Los certificados Extended Validation (EV) exigen una comprobación de identidad exhaustiva de la organización solicitante y muestran el nombre de la empresa en la barra de direcciones de algunos navegadores. Para instituciones financieras y grandes tiendas online, esto puede generar más confianza entre los visitantes. Los certificados Organization Validation (OV) confirman que el certificado se ha emitido a una organización verificada, un paso por encima de la Domain Validation (DV) que utiliza Let's Encrypt.
Los certificados de pago suelen ofrecer además una garantía (warranty) que indemniza si el certificado se ve comprometido por un error de la autoridad de certificación. También ofrecen periodos de validez más largos, de hasta un año como máximo, lo que requiere renovaciones menos frecuentes. Para la gran mayoría de las páginas web, sin embargo, los certificados de Let's Encrypt ofrecen una seguridad idéntica sin ningún coste. El cifrado es técnicamente igual de robusto, tanto si el certificado es gratuito como de pago. La diferencia está únicamente en el nivel de validación y en las condiciones de la garantía.
Let's Encrypt e integración con el servidor web
La forma en que Let's Encrypt se integra con tu servidor web varía según la plataforma. Una integración correcta garantiza una renovación fluida y una configuración SSL óptima sin intervención manual.
Para Nginx, certbot con el plugin de nginx es el método recomendado. El plugin adapta automáticamente tu configuración de Nginx para usar el certificado y configura una redirección de HTTP a HTTPS. En Apache, el plugin de apache funciona de forma parecida y modifica automáticamente la configuración del virtual host. Para LiteSpeed hace falta otro enfoque: usa el modo standalone de certbot o intégralo a través del panel WebAdmin de LiteSpeed, que incluye compatibilidad con Let's Encrypt.
En paneles de hosting como cPanel, DirectAdmin y Plesk, Let's Encrypt suele estar disponible como módulo. Esta integración permite solicitar certificados con unos pocos clics y renovarlos automáticamente para todos los dominios del servidor. Es la opción más sencilla y no requiere conocimientos de línea de comandos. Después de la instalación, comprueba siempre que la renovación automática esté bien configurada: haz una prueba dry-run y revisa la tarea de renovación programada en tu cron o en los temporizadores de systemd. Un certificado que caduca de forma inesperada es una de las causas más habituales de caídas de las páginas web y daña tanto la confianza de tus visitantes como tu posicionamiento en los buscadores.
Let's Encrypt: preguntas frecuentes y soluciones
Al trabajar con Let's Encrypt surgen con frecuencia preguntas y problemas que debes poder resolver rápido. La pregunta más habitual es qué hacer si falla la renovación automática. Comprueba primero que tu servidor web esté bien configurado para responder al desafío de validación y que ningún firewall bloquee el servidor de validación de Let's Encrypt. Los límites de peticiones de Let's Encrypt permiten como máximo cinco solicitudes de certificado por dominio a la semana, así que planifica tus pruebas con cuidado. Si alcanzas este límite, usa el entorno de pruebas de Let's Encrypt, que tiene límites mucho más amplios. Para dominios detrás de un balanceador de carga o una CDN, la validación HTTP puede dar problemas porque la petición no siempre llega al servidor correcto. En ese caso, usa la validación DNS, que funciona con independencia de la arquitectura de tu servidor web.
Fuentes y referencias
- Let's Encrypt: certificados SSL gratis (letsencrypt.org)
- Cloudflare: Learning Center (cloudflare.com/learning)
- SSL Labs: SSL Server Test de Qualys (ssllabs.com)
- DigitalOcean: tutoriales de la comunidad (digitalocean.com/community)
- ACM: Autoriteit Consument & Markt (acm.nl)