Saltar al contenido

Let’s Encrypt

LetsEncrypt es un servicio que proporciona certificados SSL/TLS gratuitos a los usuarios. Certbot es un cliente que hace que esto sea fácil de lograr y de automatizar. Además, tiene plugins para Apache y Nginx que hacen aún más fácil la automatización de la generación de certificados.

Las instrucciones de instalación para la mayoría de las distribuciones de Linux se pueden encontrar en el sitio web de Certbot.

Let’s Encrypt
Let’s Encrypt

Una vez que los paquetes se instalan, estás listo para generar un nuevo certificado.

Apache

Después de instalar Certbot y el plugin de Apache, la generación del certificado se realiza con el siguiente comando.

certbot certonly --apache --noninteractive --agree-tos --email YOUR_EMAIL -d NOMBRE_DE_DOMINIO

Actualice las secciones «SSLCertificateFile» y «SSLCertificateKeyFile», y luego reinicie el servicio.

Añade un trabajo a cron para que el certificado se renueve automáticamente.

echo "0 0 * * * root certbot renew --quiet --no-self-upgrade --post-hook $0027systemctl reload apache2$0027" | sudo tee -a /etc/cron.d/renew_certbot

HAProxy

HAProxy no tiene actualmente un plugin de Certbot. Para evitarlo, ejecuta Certbot en modo autónomo y el tráfico del proxy a través de su red.

Habilita el frontend y el backend en la configuración anterior, y luego ejecuta Certbot.

certbot certonly --standalone --preferred-challenges http-01 --http-01-port 8888 --noninteractive --agree-tos --email YOUR_EMAIL -d DOMAIN_NAME

El puerto puede cambiarse a lo que quieras, pero asegúrate de que la configuración del HAProxy y tu comando Certbot coinciden.

HAProxy necesita tener el certificado y los archivos de claves concatenados en el mismo archivo para poder leerlo correctamente. Esto se puede lograr con el siguiente comando.

cat /etc/letsencrypt/live/Nombre_de_dominio/fullchain.pem /etc/letsencrypt/live/Nombre_de_dominio/privkey.pem

Descomponer el bind *:443 y la sección de redireccionamiento en la configuración, luego recargar el servicio.

Renovación automática de certificados

Coloque la siguiente secuencia de comandos en /usr/local/bin/ para actualizar automáticamente su certificado SSL.

SITIO=NOMBRE_DE_DOMINIO# pasar a la correcta vamos a cifrar directorycd /etc/letsencrypt/live/$SITIO# archivos cat para hacer combinado .pem para haproxycat fullchain.pem privkey.pem > /etc/ssl/$SITIO.pem# recargar haproxyservice haproxy reload

Asegúrate de que el guión sea ejecutable.

chmod u+x /usr/local/bin/letsencrypt-renew.sh

Añade un trabajo a cron para que el certificado se renueve automáticamente.

@mensual /usr/bin/certbot renew --renew-hook "/usr/local/bin/letsencrypt-renew.sh"; /var/log/letsencrypt-renewal.log

Nginx

Después de instalar Certbot y el plugin de Nginx con sudo apt install certbot python3-certbot-nginx, genera el certificado.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email SU_EMAIL -d SU_DOMINIO

Añade el parámetro --rsa-key-size 4096 si quieres una tecla de 4096 bits en su lugar.

Copie y pegue todo el archivo de configuración de muestra de Nginx desde arriba, cambiando los parámetros según su configuración y descomentando las líneas.

Añade un trabajo a cron para que el certificado se renueve automáticamente.

echo "0 0 * * * root certbot renew --quiet --no-self-upgrade --post-hook $0027systemctl reload nginx$0027" | sudo tee -a /etc/cron.d/renew_certbot

es_ESEspañol