Introducción
Let's Encrypt es una autoridad de certificación (CA) que automatiza la creación, validación, emisión y renovación de certificados X.509 para el protocolo TLS /SSL de forma gratuita, permitiendo HTTPS cifrado en servidores web.
En este tutorial, utilizaremos Certbot para obtener un certificado SSL gratuito para Nginx en Debian y para configurar el certificado para la renovación automática.
Certbot es un cliente automatizado fácil de usar que recupera y distribuye certificados SSL /TLS para el servidor web.
Instalar Certbot en Debian
El primer paso para utilizar Let's Encrypt para obtener un certificado SSL es instalar el software Certbot en su servidor.
Actualicemos la lista de paquetes:
sudo apt-get update
Abramos el siguiente archivo para agregar el repositorio de backports Stretch necesario para instalar Let's Encrypt:
nano /etc/apt/sources.list
Agregue la siguiente línea:
deb http://ftp.debian.org/debian stretch-backports main
Actualicemos la lista de paquetes nuevamente:
sudo apt-get update
Y finalmente, instalemos el paquete Certbot para Nginx:
sudo apt-get install python-certbot-nginx -t stretch-backports
Certbot ya está listo para usarse.
Obtenga un certificado SSL
Certbot utiliza el complemento Nginx para obtener certificados SSL.
La ejecución de este comando le permitirá obtener un certificado SSL y Certbot modificará automáticamente la configuración de Nginx.
sudo certbot --authenticator webroot --installer nginx
Se solicitará alguna información:
- Dirección de correo electrónico
- Acepta los términos de servicio
- Nombre de dominio en el que instalar los certificados
- El dominio webroot, por defecto /var /www /html después de instalar Nginx
- Elija si desea forzar todo el tráfico a HTTPS con redireccionamiento
De lo contrario, podría obtener el certificado y luego configurar manualmente Nginx con el siguiente comando:
sudo certbot certonly --authenticator standalone --pre-hook "nginx -s stop" --post-hook "nginx"
Se recomienda usar nginx -s stop para detener Nginx en lugar de comandos como systemctl o service. Usando un comando de gancho como este, si automatiza la renovación, Certbot detendrá e iniciará automáticamente Nginx cuando necesite renovar los certificados. Nginx comenzará a utilizar automáticamente todos los certificados renovados.
Renovación Automática
Los paquetes de Certbot vienen con un trabajo cron que renovará automáticamente sus certificados antes de que caduquen. Como los certificados Let's Encrypt duran 90 días, se recomienda encarecidamente aprovechar esta función. Puede verificar la renovación automática de certificados ejecutando este comando:
sudo certbot renew --dry-run
La instalación de Let's Encrypt usando Certbot en Debian 9 ha finalizado.