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.

WarningADVERTENCIA CRITICA

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. 2. Abre 80/443 en UFW. 3. Prueba HTTP publico antes de ejecutar Certbot.

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