Actualizar certificado SSL de Let's Encrypt de manera automática. - Chuda
15726
post-template-default,single,single-post,postid-15726,single-format-standard,bridge-core-3.1.2,qode-page-transition-enabled,ajax_fade,page_not_loaded,,qode-child-theme-ver-1.0.0,qode-theme-ver-30.1,qode-theme-bridge,disabled_footer_top,qode_header_in_grid,wpb-js-composer js-comp-ver-7.6,vc_responsive

Actualizar certificado SSL de Let’s Encrypt de manera automática.

Actualizar certificado SSL de Let’s Encrypt de manera automática.

No les ha pasado que algunas veces les da un error al actualizar certificado SSL de Let’s Encrypt de manera automática.

Es un erro parecido a este:

Could not bind TCP port 443 because it is already in use by another process on
this system (such as a web server). Please stop the program in question and then
try again.
-------------------------------------------------------------------------------
Attempting to renew cert from /etc/letsencrypt/renewal/www.testsite.com.conf produced an unexpected error: object of type 'NoneType' has no len(). Skipping.

Esto ocurre mas que todo cuando los certificados creados son standalone la solución es detener el servicio de nginx actualizar y luego iniciar el servicio nuevamente, comando:

certbot renew --pre-hook "service nginx stop" --post-hook "service nginx start"

Esto debemos hacerlo de manera automática, para ello usaremos el corntab del sistema operativo.

Antes de utilizar el crontab debemos crear unos directorios y archivos para ello.

Comando:

Nos hacemos root o administradores del equipo.

sudo su

Creamos un directorio de nombre (maintenace) en el directorio principal del usuario raíz (root).

mkdir /root/maintenace

Creamos un archivo ejecutable en el directorio creado de nombre (updatessl.sh).

touch /root/maintenace/updatessl.sh

Editamos el archivo creado yo use vim pro puede usar el editor que ustedes deseen, por ejemplo nano.

vim /root/maintenace/updatessl.sh

Y agregamos lo siguiente.

#!/bin/bash
 
#Updating letsencrypt  
certbot renew --pre-hook "service nginx stop" --post-hook "service nginx start"

Este archivo lo debemos hacer ejecutable con el comando.

chmod +x /root/maintenace/updatessl.sh

luego creamos un archivo de registros (logs).

touch /root/maintenace/cert-renew.log

Después de esto ya podemos editar el crontab para que se haga la renovación de los certificados de manera automática.

abrimos crontab en manera editor

crontab -e

Luego colocamos lo siguiente:

#renovacion de ssl 
30  11  *  *  1  root /root/maintenace/updatessl.sh >> /root/maintenace/cert-renew.log 2>&1
28  23  *  *  1  root /root/maintenace/updatessl.sh >> /root/maintenace/cert-renew.log 2>&1

Ya con esto los certificados emitidos por Let’s Encrypt se renovaran de manera automática.

 

Happy Hacking!