Configuración de Let's Encrypt en DreamCompute con Nginx

¿Qué es Let’s Encrypt?

Let’s Encrypt es una nueva autoridad de certificación que proporciona certificados seguros gratuitos para ayudar a que Internet sea 100% HTTPS. Ve el siguiente enlace para obtener más información sobre Let's Encrypt.

DreamHost ha integrado el soporte de Let's Encrypt en el panel para los servicios alojados, pero si deseas configurar certificados de renovación automática para los dominios que alojas en una instancia de DreamCompute, deberás realizar un poco de instalación manual. Pero la buena noticia es que no tarda mucho y, una vez que finaliza la configuración, ¡no deberías tener que preocuparte nunca más por renovar un certificado!.

Obtener el código

Primero, inicia sesión en tu instancia de DreamCompute. No debería importar demasiado qué distribución de Linux estés corriendo, pero asegúrate de tener el paquete git instalado para que puedas clonar el repositorio de Let's Encrypt, así:

[user@instance]$ sudo -s
[root@instance]# cd /opt
[root@instance]# git clone git://github.com/certbot/certbot

Obtener tu primer certificado

Antes de hacer esto, deberás asegurarte de que tu dominio esté realmente apuntando a la dirección IP de tu instancia de DreamCompute y que tu servidor web esté configurado para responder a las solicitudes de tu nombre de dominio. Esto es necesario porque "Let's Encrypt" realiza comprobaciones para asegurarse de que tu controlas los nombres de dominio para los que solicita certificados. Si aún no lo has hecho, consulta el artículo de DreamHost a continuación para obtener ayuda.

Digamos que tienes example.com configurado con un registro DNS A que apunta a la dirección IP de tu instancia, y tienes nginx configurado correctamente para responder a las solicitudes de example.com. (La configuración de tu servidor web está fuera del alcance de esta guía, pero hay una variedad de tutoriales allá afuera).

Si no estás usando nginx en una instancia Debian o Ubuntu, puedes usar el complemento de nginx para certbot-auto como se muestra a continuación.

[root@instance]$ /opt/certbot/certbot-auto --nginx -d example.com

Esto te pedirá cierta información, incluida tu dirección de correo. Lénalo con información válida y deberías obtener un nuevo certificado. Ni siquiera deberías necesitar reiniciar tu servidor web o modificar un archivo de configuración, ya que el complemento de nginx para certbot-auto fue diseñado para manejar eso por ti.

Agregar un subdominio a un certificado existente

Si después de correr ese script te das cuenta de que también necesitas un certificado para un subdominio relacionado, puedes correr el comando certbot-auto nuevamente con parámetros adicionales.

[root@instance]$ /opt/certbot/certbot-auto --nginx -d example.com -d sub.example.com

Renovación Automática

Puedes hacer que tu sistema renueve automáticamente todos los certificados por ti usando un pequeño script de shell que se ve así:

#!/bin/bash 

/opt/certbot/certbot-auto renew

Si guardas ese script en el /usr/local/bin directorio como algo así update_certs, puedes programar el script para que se corra una vez a la semana con cron así:

30 0 * * 0 /usr/local/bin/update_certs

Ahora, tu sistema intenta renovar todos tus certificados una vez a la semana. Si no hay certificados en peligro de caducar pronto, no pasa nada malo. Pero si alguno hubiera expirado, entonces se renueva automáticamente.

¿Este artículo ha respondido sus preguntas?

Última actualización el PST.

¿Aún no encuentra lo que busca?