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
- Abre https://tudominio.com
- Deberías ver el candado verde
- 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
| Error | Causa | Solución |
|---|---|---|
| Challenge failed | Puerto 80 bloqueado | ufw allow 80 |
| Domain not pointing | DNS no propagado | Espera 5-30 min |
| Too many requests | Rate limit | Espera 1 hora |
Test de seguridad
Verifica tu config SSL:
https://www.ssllabs.com/ssltest/analyze.html?d=tudominio.com
Objetivo: A o A+