Práctica - Certificado SSL
HTTPS
Docs AWS
- https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/SSL-on-amazon-linux-2023.html#letsencrypt-2023
- https://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/SSL-on-amazon-linux-2.html#letsencrypt
Docs LetsEncrypt/Certbot
Requisitos
- Nombre de dominio
- Configurado con la ip pública de una máquina ECS
- Servidor web configurado en esa máquina
Instalación Certbot
# instalación paquetes
$ sudo dnf install -y python3 augeas-libs pip
# Creación entorno virtual python
$ sudo python3 -m venv /opt/certbot/
# Actualización pip
$ sudo /opt/certbot/bin/pip install --upgrade pip
# Instalación certbot
$ sudo /opt/certbot/bin/pip install certbot certbot-apache
Creación certificado
# parar servidor (certbot levanta uno)
$ sudo systemctl stop httpd
$ sudo /opt/certbot/bin/certbot certonly --standalone
# o también más fácil
$ sudo /opt/certbot/bin/certbot --apache
# Sigue los pasos
# Instala el certificado si certbot no ha configurado los archivos de httpd
Al final tendremos estos archivos de configuración.
/etc/httpd/conf.d/ssl.conf
# Dentro tendrá unas líneas similares
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/www.cpilosenlaces.ninja/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/www.cpilosenlaces.ninja/privkey.pem
/etc/httpd/conf/httpd.conf
Configuración del virtualhost y la redirección de http a https
<VirtualHost *:80>
DocumentRoot "/var/www/html"
ServerName "www.cpilosenlaces.ninja"
ServerAlias "cpilosenlaces.ninja"
#Redirect HTTP to HTTPS
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</VirtualHost>
Vuelve a iniciar apache
$ sudo systemctl stop httpd
Y comprueba que funciona correctamente el certificado y la redirección
Configuración renovación automática
Puedes configurar la renovación automática del certificado
$ echo "0 0,12 * * * root /opt/certbot/bin/python -c 'import random; import time; time.sleep(random.random() * 3600)' && sudo certbot renew -q" | sudo tee -a /etc/crontab > /dev/null
$ sudo systemctl restart crond
Última modificación September 30, 2023: website s3 (9c3f86f)