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.
Si su intención es instalar Let's Encrypt for Nginx en un servidor remoto, continúe leyendo; de lo contrario, si desea instalar Let's Encrypt for Nginx en su computadora local, omita el primer párrafo "Conectarse al servidor" y lea el siguiente.
Conexión al servidor
Para acceder al servidor, necesita conocer la dirección IP. También necesitará su nombre de usuario y contraseña para la autenticación. Para conectarse al servidor como root, escriba el siguiente comando:
ssh root@IP_DEL_SERVER
A continuación, deberá ingresar la contraseña del usuario root.
Si no está utilizando el usuario root, puede iniciar sesión con otro nombre de usuario utilizando el mismo comando, luego cambie root a su nombre de usuario:
ssh VOSTRO_UTENTE@IP_DEL_SERVER
Luego se le pedirá que ingrese su contraseña de usuario.
El puerto estándar para conectarse a través de ssh es 22, si su servidor usa un puerto diferente, deberá especificarlo usando el parámetro -p, luego escriba el siguiente comando:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Ahora está conectado a su servidor, está listo para comenzar a instalar Certbot.
Prerrequisitos
Siga esta guía para instalar Nginx: Cómo instalar LEMP Nginx MySQL PHP en Debian 10.
Instalar Certbot
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 update
Instalemos ahora el paquete Certbot para Nginx:
sudo apt-get install certbot python-certbot-nginx
Certbot ahora está listo para usar, pero para instalar certificados SSL para Nginx, necesitamos verificar algunas de las configuraciones de Nginx.
Configuración de Nginx
Certbot puede configurar automáticamente certificados SSL para Nginx, pero debe poder encontrar el bloque de servidor correcto en la configuración. Para ello, busca una directiva server_name que coincida con el dominio para el que está solicitando un certificado.
Si está comenzando con una instalación nueva de Nginx, puede actualizar el archivo de configuración predeterminado.
sudo nano /etc/nginx/sites-available/default
Busque la línea server_name y reemplace el guión bajo: "_", con su nombre de dominio:
...
server_name esempio.com www.esempio.com;...
Guarde y cierre el archivo.
Verifique la configuración correcta del archivo:
sudo nginx -t
Reinicie Nginx:
sudo systemctl reload nginx
Certbot ahora podrá encontrar el bloque de servidor correcto y actualizarlo.
Obtenga un certificado SSL
Certbot utiliza el complemento Nginx para obtener certificados SSL.
sudo certbot --nginx
La ejecución de este comando le permitirá obtener un certificado SSL y Certbot modificará automáticamente la configuración de Nginx.
De lo contrario, podría obtener el certificado y luego configurar manualmente Nginx con el siguiente comando:
sudo certbot certonly --nginx
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 10 ha finalizado.