🔒

SSL con Let's Encrypt

👨‍🍳 Chef⏱️ 20 minutos

📋 Prerequisitos sugeridos

  • VPS con dominio apuntando
  • Nginx instalado

Lo que vas a construir

Certificado SSL gratuito de Let's Encrypt para tu dominio, con renovación automática cada 90 días.

Tu sitio pasará de http:// a https:// con el candado verde, SEO mejorado, y comunicación encriptada.


Paso 1: Verifica que tu dominio apunta al VPS

# Debe mostrar la IP de tu VPS
dig +short tudominio.com

Paso 2: Instala Certbot

apt install certbot python3-certbot-nginx -y

Paso 3: Obtén el certificado

# Con Nginx (recomendado)
certbot --nginx -d tudominio.com -d www.tudominio.com

# Te preguntará:
# - Email (para avisos de expiración)
# - Aceptar términos
# - Redirigir HTTP a HTTPS (elige 2 = Yes)

Paso 4: Verifica

# Ver certificados instalados
certbot certificates

# Probar renovación
certbot renew --dry-run

Paso 5: Configurar renovación automática

Certbot ya configura un cron/timer. Verifica:

# Ver timer de systemd
systemctl status certbot.timer

# O ver cron
cat /etc/cron.d/certbot

Verificar en navegador

  1. Abre https://tudominio.com
  2. Deberías ver el candado verde
  3. Click en candado → "Connection is secure"

Configuración Nginx resultante

Certbot modifica tu config:

server {
    listen 443 ssl;
    server_name tudominio.com;

    ssl_certificate /etc/letsencrypt/live/tudominio.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/tudominio.com/privkey.pem;
    include /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

    # tu config...
}

server {
    listen 80;
    server_name tudominio.com;
    return 301 https://$host$request_uri;
}

Agregar más dominios

certbot --nginx -d nuevodominio.com -d www.nuevodominio.com

Troubleshooting

ErrorCausaSolución
Challenge failedPuerto 80 bloqueadoufw allow 80
Domain not pointingDNS no propagadoEspera 5-30 min
Too many requestsRate limitEspera 1 hora

Test de seguridad

Verifica tu config SSL:

https://www.ssllabs.com/ssltest/analyze.html?d=tudominio.com

Objetivo: A o A+


Próximo paso

Lab de Redes Docker