¿Cómo se instala un certificado SSL estándar Let's Encrypt en una instancia de Lightsail?

Actualización más reciente: 20-10-2021

¿Cómo se instala un certificado SSL estándar para el sitio web alojado en una instancia de Amazon Lightsail que no utiliza una pila de Bitnami?

Descripción breve

La siguiente resolución contempla la instalación de un certificado SSL estándar Let's Encrypt para sitios web alojados en instancias de Lightsail que no utilizan una pila Bitnami. Algunos ejemplos de estos proyectos de instancia incluyen Amazon Linux 2, Ubuntu, etc. Si tiene un proyecto de instancia diferente o desea instalar un certificado estándar, consulte una de las siguientes opciones:

Certificados estándar Let's Encrypt

Para obtener información sobre la instalación de un certificado SSL estándar Let's Encrypt (no un comodín) en una instancia de Lightsail con una pila de Bitnami, como WordPress, LAMP, Magento, etc., consulte ¿Cómo se instala un certificado SSL estándar Let's Encrypt en una pila de Bitnami alojada en Amazon Lightsail?

Certificados comodín Let's Encrypt (por ejemplo, *.example.com)

Para obtener información sobre la instalación de un certificado Let's Encrypt comodín en una instancia de Lightsail con una pila de Bitnami, como WordPress, Lamp, Magento, MEAN, etc., consulte ¿Cómo se instala un certificado SSL Let's Encrypt comodín en una pila de Bitnami alojada en Amazon Lightsail?

Para obtener información sobre la instalación de un certificado comodín Let's Encrypt en una instancia de Lightsail que no utiliza una pila Bitnami, como Amazon Linux 2, Ubuntu, etc., consulte ¿Cómo se instala un certificado SSL comodín Let's Encrypt en Amazon Lightsail?

Resolución

Requisitos previos y limitaciones

  • Los siguientes pasos se refieren a la instalación del certificado en el servidor. Debe completar manualmente pasos adicionales, como la configuración del certificado y la configuración de la redirección HTTPS.
  • Asegúrese de que el dominio apunta a la instancia de Lightsail, ya sea directamente o a través de un balanceador de carga o distribución. Para completar la verificación del certificado, asegúrese de que la URL del sitio web no devuelva errores desde el balanceador de carga o la distribución en el navegador web.

Nota: Este método requiere que primero se instale la herramienta Certbot. Para obtener instrucciones sobre la instalación, consulte ¿Cómo se instala el paquete Certbot en la instancia de Lightsail para la instalación de Let's Encrypt?

1.    Detenga el servicio web que se ejecuta en la instancia. Los siguientes son ejemplos de comandos para diferentes distribuciones de Linux:

Servicio web de Apache en distribuciones Linux, como Amazon Linux2, CentOS, etc.

sudo service httpd stop

Servicio web de Apache en distribuciones Linux, como Ubuntu, Debian, etc.

sudo service apache2 stop

Servicio web de NGINX

sudo service nginx stop

2.    Ejecute el siguiente comando para instalar el certificado SSL. Asegúrese de sustituir example.com por el nombre de dominio.

sudo certbot certonly --standalone -d example.com -d www.example.com

Después de que el certificado SSL se genere correctamente, recibirá el mensaje “Certificado recibido correctamente”. También se proporcionan las ubicaciones de los archivos de certificados y claves. Guarde estas ubicaciones de los archivos en un bloc de notas para utilizarlas en el paso 5.

3.    Inicie el servicio web. Los siguientes son ejemplos de comandos para diferentes distribuciones de Linux:

Servicio web de Apache en distribuciones de Linux, como Amazon Linux 2, CentOS, etc.

sudo service httpd start

Servicio web de Apache en distribuciones Linux, como Ubuntu, Debian, etc.

sudo service apache2 start

Servicio web de NGINX

sudo service nginx start

4.    Configure la renovación automática del certificado.

Si el paquete de Certbot se instala mediante snapd, la renovación se configura automáticamente en systemd timers o cronjobs. Sin embargo, dado que el servicio web se debe detener antes de ejecutar el comando de Certbot, debe automatizar la detención y el inicio del servicio web. Para configurar esta automatización, ejecute los siguientes comandos. El siguiente ejemplo utiliza Apache2 como servicio web. Reemplace el código y el comando de parada-inicio de acuerdo con el servicio web.

sudo sh -c 'printf "#!/bin/sh\n service apache2 stop \n" > /etc/letsencrypt/renewal-hooks/pre/webservice.sh'
sudo sh -c 'printf "#!/bin/sh\n service apache2 start \n" > /etc/letsencrypt/renewal-hooks/post/webservice.sh'
sudo chmod 755 /etc/letsencrypt/renewal-hooks/*/webservice.sh

Si la distribución de Linux es Amazon Linux 2 o FreeBSD, el paquete Certbot no se instala mediante snapd. En este caso, debe configurar la renovación manualmente mediante la ejecución del siguiente comando. El siguiente ejemplo utiliza Apache2 como servicio web. Reemplace el código y el comando de parada-inicio de acuerdo con el servicio web.

echo "30 0,12 * * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew --pre-hook 'service apache2 stop' --post-hook 'service apache2 start'" | sudo tee -a /etc/crontab > /dev/null

5.     Solo se ha completado la instalación y la configuración de renovación del certificado. Todavía debe configurar el servidor web para utilizar este certificado y configurar la redirección HTTPS. Esta configuración varía y depende de la configuración del servidor web que tenga en la instancia. Consulte la documentación oficial en función del servicio web para obtener instrucciones sobre cómo completar estos pasos.


¿Le resultó útil este artículo?


¿Necesita asistencia técnica o con la facturación?