Soporte de SSL con Let's Encrypt en Apache2 (Ubuntu 24.04 LTS)
Introducción
Let's Encrypt permite obtener certificados SSL gratuitos y automáticos para tu servidor web.
Instalación de Certbot
sudo apt update
sudo apt install certbot python3-certbot-apache -y
Generar certificados SSL
sudo certbot --apache
Sigue las instrucciones para tu dominio. Si hay errores con la configuración de vhost SSL, revisa los logs y la configuración.
Puedes revisar la sintaxis de Apache antes de continuar:
sudo apachectl configtest
Configuración de VirtualHost SSL
Asegúrate de que tu archivo de configuración tenga las siguientes líneas:
<VirtualHost *:443>
...
SSLCertificateFile /etc/letsencrypt/live/TUDOMINIO/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/TUDOMINIO/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/TUDOMINIO/chain.pem
...
</VirtualHost>
Activa el módulo SSL si no está activo:
sudo a2enmod ssl
Recarga Apache para aplicar los cambios:
sudo systemctl reload apache2
Renovación automática
Let's Encrypt recomienda probar la renovación automática:
sudo certbot renew --dry-run
Forzar HTTPS siempre
Activa el módulo rewrite:
sudo a2enmod rewrite
Redirecciona todo el tráfico HTTP a HTTPS en tu VirtualHost de puerto 80:
<VirtualHost *:80>
...
Redirect permanent / https://TUDOMINIO/
...
</VirtualHost>
Recarga Apache para aplicar la redirección:
sudo systemctl reload apache2
Recursos útiles
```