Let’s Encrypt con Certbot en Nginx: Guía Completa 2024

Let's Encrypt Certbot Nginx

📅 Publicado el 24 de septiembre, 2026 · Por Equipo RedServicio

Certbot con Nginx y Let’s Encrypt: esa es la combinación que necesitas si quieres certificados SSL/TLS gratuitos que se renueven solos. Si gestionas una web propia (un blog, una tienda, lo que sea), configurar HTTPS ya no es opcional. Los navegadores marcan como «no segura» cualquier página sin cifrado, y Google penaliza en posicionamiento los sitios que no lo implementan. Aquí vas a encontrar el proceso completo: instalar Certbot, emitir tu primer certificado y dejar las renovaciones en automático sobre un servidor con Nginx.

¿Qué es Let’s Encrypt y por qué necesitas HTTPS?

Let’s Encrypt es una autoridad de certificación (CA) gratuita y automatizada, gestionada por Internet Security Research Group (ISRG), una organización sin ánimo de lucro. Lleva funcionando desde 2016 y ha emitido miles de millones de certificados. El resultado: que el cifrado web ya no depende del presupuesto de tu proyecto.

¿El truco? Un protocolo llamado ACME (Automated Certificate Management Environment), que permite solicitar, validar e instalar certificados sin intervención humana. Se acabó rellenar formularios, pagar cada año o esperar correos de validación.

Implementar HTTPS en tu sitio te aporta beneficios tangibles:

  • Cifrado de extremo a extremo: los datos entre el visitante y tu servidor no pueden ser interceptados ni modificados por terceros.
  • Autenticidad: el certificado demuestra que tu dominio es quien dice ser, protegiendo frente a suplantaciones.
  • SEO: HTTPS es un factor de posicionamiento confirmado por Google desde 2014.
  • Funcionalidades modernas: HTTP/2, HTTP/3 y APIs del navegador como la de geolocalización exigen conexión segura, sin excepciones.
  • Confianza del usuario: el candado en la barra de direcciones reduce la tasa de rebote y aumenta las conversiones.

Consejo: los certificados de Let’s Encrypt duran 90 días. Parece poco, pero es una decisión de diseño: certificados de corta duración reducen el impacto de una posible compromiso. Por eso la renovación automática con Certbot es imprescindible, como veremos más adelante.

Requisitos previos antes de instalar Certbot

Antes de lanzarte, repasa esta lista. Verificarlo ahora te ahorrará errores frustrantes a mitad del proceso:

  1. Un servidor con acceso SSH y privilegios de administrador (sudo): esta guía asume Ubuntu 20.04, 22.04 o Debian 11/12, aunque los pasos son similares en otras distribuciones.
  2. Nginx instalado y en funcionamiento: compruébalo con sudo systemctl status nginx. Debe aparecer como active (running).
  3. Un dominio apuntando a tu servidor: necesitas registros DNS tipo A (IPv4) y, si aplica, AAAA (IPv6) que apunten a la IP pública de tu servidor. Verifícalo con el comando dig +short tudominio.com.
  4. Puerto 80 abierto: Let’s Encrypt valida el dominio mediante HTTP-01 challenge, así que tu servidor tiene que ser accesible por el puerto 80 desde internet. Si usas firewall, ejecuta sudo ufw allow 80,443/tcp.
  5. Servidor de correo válido para avisos: no es obligatorio, pero registrar tu email te permite recibir alertas si la renovación automática falla. Y falla, a veces.

Un error muy común: intentar emitir certificados para un dominio cuyo DNS todavía se está propagando. Espera a que el registro resuelva correctamente desde redes externas antes de continuar. Sin prisa.

Instalación de Certbot y obtención del certificado en Nginx

Paso 1: Instalar Certbot con el plugin de Nginx

En Debian y Ubuntu, Certbot se instala directamente desde los repositorios oficiales:

sudo apt update

sudo apt install certbot python3-certbot-nginx

El paquete python3-certbot-nginx trae el plugin que permite a Certbot detectar automáticamente tus bloques de servidor en Nginx y modificarlos para usar el certificado recién emitido.

Paso 2: Emitir el certificado

Ejecuta Certbot en modo interactivo indicando tu dominio:

sudo certbot –nginx -d tudominio.com -d www.tudominio.com

Certbot te pedirá tu correo electrónico, te hará aceptar los términos del servicio y te preguntará si deseas redirigir todo el tráfico HTTP hacia HTTPS. Responde con la opción 2 (Redirect). Es la correcta: garantiza que nadie acceda por la versión insegura.

Si todo va bien, verás un mensaje confirmando que el certificado se ha desplegado, con la ruta de los archivos generados en /etc/letsencrypt/live/tudominio.com/. Certbot además habrá editado tu configuración de Nginx para incluir el certificado y la redirección 301.

Paso 3: Verificar la configuración

Comprueba que tu sitio carga en https://tudominio.com y que el candado del navegador aparece activo. Para validar la configuración SSL, herramientas como SSL Labs SSL Server Test te darán una calificación. Con la configuración por defecto de Certbot y Nginx, una A es lo habitual.

Tip: tras cualquier cambio manual en la configuración, recarga Nginx con sudo systemctl reload nginx. Así aplicas los cambios sin cortar las conexiones activas.

Con estos pasos tu web ya sirve tráfico cifrado de forma gratuita. En la siguiente parte de esta guía cubriremos la renovación automática de certificados, la configuración de parámetros SSL avanzados y la resolución de los errores más frecuentes.

Configuración de la renovación automática de certificados

Let’s Encrypt emite certificados con una validez de 90 días. Corta, sí. Por eso la renovación automática no es opcional: sin ella, tarde o temprano tu web se quedará sin HTTPS y los visitantes verán el temido aviso de seguridad. La buena noticia es que Certbot lo configura prácticamente solo. Durante la instalación crea un temporizador de systemd o una entrada en cron que comprueba periódicamente si el certificado está próximo a caducar.

¿Quieres verificar que la renovación automática está activa? Lo más rápido es una simulación en modo ensayo:

  1. Lanza el comando sudo certbot renew –dry-run. Prueba el proceso completo sin tocar el certificado real.
  2. Comprueba el temporizador con systemctl list-timers | grep certbot; deberías ver una unidad como certbot.timer programada dos veces al día.
  3. Si sospechas de fallos silenciosos, revisa el registro de renovaciones en /var/log/letsencrypt/letsencrypt.log.

Puede que el temporizador no exista (me ha pasado en sistemas mínimos, donde no queda del todo claro por qué el instalador lo omitió). En ese caso, créalo manualmente. Una opción sencilla es añadir esta línea al crontab del usuario root con sudo crontab -e:

0 3,15 * * * certbot renew –quiet –deploy-hook «systemctl reload nginx»

Fíjate en el parámetro –deploy-hook. Recarga Nginx tras cada renovación exitosa, algo fundamental: sin esa recarga, el servidor seguiría sirviendo el certificado viejo aunque la renovación hubiera ido bien. Con esto, tu web mantiene el HTTPS de forma indefinida sin intervención manual. Un nivel de automatización que, por cierto, también ofrecemos por defecto en todos los planes de hosting de RedServicio.

Errores comunes al usar Let’s Encrypt con Certbot en Nginx y cómo solucionarlos

El proceso suele ir fluido. Pero cuando falla, conviene saber diagnosticar. Estos son los fallos que más me suelo encontrar:

  • Error de validación «Failed authorization procedure»: casi siempre se debe a que el dominio no apunta a la IP del servidor o el puerto 80 está bloqueado por el firewall. Verifica el registro DNS A con dig +short tudominio.com y permite el tráfico con sudo ufw allow 80,443/tcp.
  • «Too many invalid authorizations recently»: has superado el límite de intentos fallidos. Espera una hora y revisa la configuración antes de reintentar. Insistir a ciegas solo empeora las cosas.
  • «Too many certificates already issued» (rate limit): Let’s Encrypt limita a 50 certificados por dominio registrado por semana. Si estás haciendo pruebas, usa el entorno de staging con –staging.
  • Net::ERR_CERT_AUTHORITY_INVALID en el navegador: cadena incompleta. Comprueba que Nginx sirve el fullchain.pem y no el cert.pem, y valida tu instalación con el SSL Labs Server Test.
  • Error 404 durante la validación HTTP: suele ocurrir si Nginx redirige todo el tráfico a HTTPS antes de que exista el certificado. Un poco de huevo y gallina. Asegúrate de que el bloque del puerto 80 incluye la carpeta .well-known/acme-challenge accesible.

Regla general: ante cualquier fallo, ejecuta Certbot con -v para obtener información detallada y consulta el log antes de reintentar nada.

Conclusión: asegura tu web con Let’s Encrypt

Pocas mejoras dan tanto retorno con tan poco esfuerzo. Cifrado completo para tus visitantes, mejor posicionamiento en buscadores y renovación totalmente automática. Y todo sin coste económico. Como has visto a lo largo de esta guía, instalar el certificado, configurar los bloques de servidor, automatizar las renovaciones y resolver los errores habituales están al alcance de cualquiera, aunque no seas experto en sistemas.

Eso sí, un HTTPS sólido es solo la base de un servidor bien configurado. Si prefieres delegar la gestión técnica y centrarte en tu proyecto, en RedServicio te lo ponemos fácil: nuestros planes de hosting incluyen certificados SSL gratuitos con renovación automática, soporte técnico 24/7 en español y servidores optimizados para Nginx. Empieza hoy mismo a servir tu web con el candado que tus usuarios esperan.

📝

Equipo RedServicio

Artículos escritos y revisados por nuestro equipo técnico especializado en hosting e infraestructura web en España.

¿Listo para un hosting de verdad?

Servidores en España · Soporte 24/7 en español · Migración gratuita

Ver Planes desde 3,95€/mes →

Te puede interesar:

Clisec — Seguridad informática

Página Gratis — Crea tu web gratis

Scroll al inicio