Unidad 10.3: SSL con Certbot

HTTPS en Nginx con Let’s Encrypt

Author

Diego Saavedra

Published

Feb 2, 2026

Unidad 10.3: SSL con Certbot

Introduccion

Certbot automatiza la emision y renovacion de certificados TLS (Let’s Encrypt). Para que funcione, necesitas un dominio apuntando a tu servidor y el puerto 80/443 accesible desde Internet.

Warning⚠️ ADVERTENCIA CRÍTICA

No podras emitir un certificado real si tu servidor no es accesible publicamente.

Lo que podria salir mal: - DNS del dominio no apunta al servidor. - Firewall/router bloquea 80/443. - Estas en una VM sin NAT/port-forward.

Como prevenirlo: 1. Valida DNS antes: dig +short tu-dominio.com. # <1> 2. Abre 80/443 en UFW. # <2> 3. Prueba HTTP pubblico antes de ejecutar Certbot. # <3>

  1. dig +short consulta DNS para verificar que el dominio apunta al servidor.
  2. ufw allow abre los puertos necesarios para Let’s Encrypt.
  3. curl prueba que el servidor responde HTTP públicamente.

Objetivos de aprendizaje

  • Instalar Certbot para Nginx
  • Emitir certificado (cuando aplica)
  • Validar renovacion y configuración generada

Instalacion

BASH
1$ sudo apt update


2$ sudo apt install -y certbot python3-certbot-nginx
1
apt update actualiza el indice.
2
apt install certbot instala Certbot y el plugin para Nginx.

Emitir certificado (modo Nginx)

BASH
1$ sudo certbot --nginx -d tu-dominio.com
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Congratulations! Your certificate and chain have been saved at:
  /etc/letsencrypt/live/tu-dominio.com/fullchain.pem
1
certbot –nginx edita/crea bloques TLS en Nginx y obtiene el certificado.

Validar renovacion

BASH
1$ sudo certbot renew --dry-run
Congratulations, all simulated renewals succeeded.
1
certbot renew –dry-run prueba renovacion sin consumir limites.

Code Appendix