UPDATE: Certificado SSL con Let's Encrypt

En la entrada sobre como instalar el certificado SSL con Let's Encrypt usaba la versión del certbot del repo de ubuntu. Ahora hay una versión más reciente disponible, su instalación es simple y tiene algunas ventajas que nos van a ser útiles.

Hay un par de pasos extras a realizar, pero nada muy complejo. Vamos a verlo:

Instalar Certbot

Como primer paso, debemos agregar el repositorio:

sudo add-apt-repository ppa:certbot/certbot

Y actualizar lista de paquetes:

sudo apt-get update

Una vez tenemos el repo actualizado, instalamos certbot:

sudo apt-get install certbot

Instalar Certificado

Suponiendo que ya tenemos configurados los vhosts en nginx, el próximo paso es pedir el certificado usando el certbot. Vamos a usar el flag certonly, porque las modificaciones a nginx las haremos manualmente después:

sudo certbot certonly --webroot --webroot-path=/var/www/example -d example.com -d www.example.com

Donde:

Setear auto renovación

Los certificados de Let's Encrypt tienen una validez de 3 meses. Por este motivo, para evitar tener que recordar actualizarlos manualmente, lo mejor es agregar una entrada al crontab y dejar esto en manos del server. Vamos a editar el crontab del root (sudo crontab -e):

16 6 * * * /usr/bin/certbot renew --quiet --renew-hook "/bin/systemctl reload nginx"

Con esta instrucción dejamos seteado que todos los días a las 6:16AM se ejecute el certbot renew, en modo quiet (sin devolver info) y, en caso de renovarse el cert, que haga un reload al nginx para que lea el nuevo certificado.

A partir de aquí, recomiendo continuar con la configuración de nginx: https://embrolio.com/entry/certificado-ssl-con-let-s-encrypt-y-ajustes-a-nginx#configurar-nginx