Publicado el 01 de agosto de 2026 · Revisado el 01 de agosto de 2026
Cómo instalar SSL gratis con Let's Encrypt en un VPS sin cPanel (Nginx), paso a paso
Ya instalamos Nginx en un VPS desde cero y dejamos pendiente el certificado SSL. Esta guía lo cierra: instala Certbot, genera un certificado gratuito de Let's Encrypt, lo conecta automáticamente a tu configuración de Nginx, y deja la renovación funcionando sola para que nunca se te venza sin darte cuenta.
En la guía anterior dejamos un sitio corriendo en Nginx, pero todavía sin cifrado — HTTP, no HTTPS. Ese es el pendiente que cerramos hoy: un certificado SSL gratuito, real, y que se renueva solo sin que tengas que acordarte cada tres meses.
Antes de empezar, confirma dos cosas. Primero, que tu dominio ya apunta a la IP de tu VPS (el registro DNS tipo A) y que la propagación ya terminó — Let's Encrypt necesita poder llegar a tu servidor desde internet para verificar que el dominio es tuyo, y si el DNS todavía no propagó, la verificación va a fallar. Segundo, que Nginx ya tiene el server block de tu dominio configurado y sirviendo contenido por HTTP, como quedó en la guía anterior.
Instala Certbot, la herramienta oficial del proyecto Let's Encrypt, junto con el plugin que lo integra directamente con Nginx:
sudo apt update
sudo apt install -y certbot python3-certbot-nginx
El plugin de Nginx es la parte que te ahorra el trabajo manual: sin él, tendrías que editar tú mismo el archivo de configuración para agregar el bloque SSL y el certificado — con el plugin, Certbot lo hace automáticamente y de forma correcta.
Genera el certificado apuntando a tu dominio (y su versión con www si la usas):
sudo certbot --nginx -d tudominio.com -d www.tudominio.com
Certbot te va a pedir un correo electrónico —lo usa solo para avisarte si un certificado está por vencer y algo salió mal con la renovación automática, no para nada más— y te va a preguntar si aceptas los términos del servicio. Después de eso, verifica que controlas el dominio (por eso el DNS tiene que estar ya propagado), obtiene el certificado, y modifica automáticamente tu configuración de Nginx para servir el sitio por HTTPS.
Cuando termine, Certbot te va a preguntar si quieres redirigir todo el tráfico HTTP a HTTPS automáticamente — acepta esa opción. Sin la redirección, tu sitio queda accesible por ambos protocolos, y cualquiera que entre por el enlace antiguo en http:// sigue navegando sin cifrar, incluso teniendo el certificado instalado y funcionando.
Verifica que funcionó entrando a https://tudominio.com desde el navegador — deberías ver el candado de conexión segura, sin advertencias. Si entras por http:// y te redirige solo a https://, la redirección automática también quedó bien configurada.
Confirma que la renovación automática está activa. Los certificados de Let's Encrypt duran solo 90 días por diseño —es una decisión deliberada del proyecto para que nadie deje certificados vencidos sin darse cuenta durante años—, pero Certbot instala por su cuenta un temporizador de systemd que intenta renovarlos automáticamente antes de que caduquen, normalmente cuando quedan 30 días o menos:
sudo systemctl status certbot.timer
Si ves active (waiting), la renovación automática ya está funcionando y no tienes que hacer nada más. Para confirmar que el proceso de renovación en sí funcionaría sin errores, sin esperar los 90 días para descubrirlo, corre una simulación:
sudo certbot renew --dry-run
Si termina sin errores, tu certificado se va a renovar solo cuando llegue el momento, sin que tengas que volver a tocar nada.
Con el sitio ya sirviendo por HTTPS, con redirección automática y renovación que no depende de que te acuerdes, tu VPS está listo para recibir tráfico real, formularios o cualquier dato de usuarios sin exponerlo sin cifrar. Si tu proyecto va a manejar más que un sitio simple —varios dominios, una tienda, tráfico creciente—, en /planes/vps tienes los recursos para que el servidor no se quede corto cuando eso empiece a pasar.
Artículos relacionados
Carolina
CTO - NAP Latino
www.naplatino.com
soporte@naplatino.com
