Configurar HTTPS para tu sitio web mediante Let's Encrypt y Certbot es un proceso sencillo que mejora la seguridad y la fiabilidad de tu sitio. Let's Encrypt ofrece certificados SSL/TLS gratuitos, y Certbot automatiza la mayoría de los pasos necesarios.
Requisitos previos:
- Nombre de dominio: Debes ser propietario o tener control sobre el nombre de dominio registrado para el que deseas obtener un certificado.
- Configuración de DNS: Los registros DNS de tu nombre de dominio deben apuntar a la dirección IP pública de tu servidor.
- Servidor web: Necesitas tener un servidor web (Apache o Nginx) instalado y configurado para alojar tu sitio web.
- Acceso SSH: Necesitarás acceso SSH a tu servidor con
sudoprivilegios. - Cortafuegos (si procede): Asegúrate de que los puertos 80 (para HTTP) y 443 (para HTTPS) estén abiertos en tu cortafuegos.
Pasos para configurar HTTPS:
1. Instala Certbot
Certbot es el cliente oficial de Let's Encrypt que automatiza el proceso de obtención y renovación de certificados SSL. La forma recomendada de instalar Certbot es mediante snapd.
- Instalar
snapd: Si no tienessnapdinstalado, sigue las instrucciones del sitio web de Snapcraft para instalarlo en tu sistema operativo. - Elimina los paquetes antiguos de Certbot (si los hay): Si has instalado Certbot anteriormente utilizando un gestor de paquetes como
apt,dnf, oyum, elimina esos paquetes para evitar conflictos. Por ejemplo, en Ubuntu, puedes ejecutarsudo apt-get remove certbot. - Instalar Certbot a través de Snap:
bash sudo snap install --classic certbot sudo ln -s /snap/bin/certbot /usr/bin/certbotElsnappaquete garantiza que obtengas las actualizaciones más rápidas e incluye los complementos necesarios.
2. Obtener e instalar el certificado SSL
Los comandos varían ligeramente en función de su servidor web (Apache o Nginx).
-
Para Apache:
bash sudo certbot --apache -d yourdomain.com -d www.yourdomain.comSustituyeyourdomain.compor tu nombre de dominio real. Certbot te guiará a lo largo de la configuración, solicitándote tu dirección de correo electrónico, la aceptación de los términos de servicio y si deseas redirigir el tráfico HTTP a HTTPS. -
Para Nginx:
bash sudo certbot --nginx -d yourdomain.com -d www.yourdomain.comDe nuevo, sustituyeyourdomain.compor tu dominio real. Certbot configurará automáticamente Nginx para que sirva el certificado y habilite HTTPS.Durante el proceso, Certbot te pedirá que: * Introducas una dirección de correo electrónico para recibir avisos urgentes de renovación y seguridad. * Aceptes los Términos de servicio de Let's Encrypt. * Decidas si quieres compartir tu correo electrónico con la Electronic Frontier Foundation (EFF). * Elijas si deseas redirigir el tráfico HTTP a HTTPS. Por lo general, se recomienda habilitar esta opción.
3. Verificar la renovación automática
Los certificados de Let's Encrypt tienen una validez de 90 días. Certbot configura automáticamente una tarea cron o un temporizador de systemd para renovar tus certificados antes de que caduquen.
Puedes probar el proceso de renovación automática con una simulación:
sudo certbot renew --dry-run
Este comando comprueba si la renovación se realizaría correctamente sin renovar realmente los certificados.
4. Comprueba tu sitio web
Una vez completada la instalación, abre tu sitio web en un navegador web utilizando https://yourdomain.com. Deberías ver un icono de candado en la barra de direcciones, lo que indica una conexión segura. También puedes utilizar verificadores SSL en línea como SSL Shopper para comprobar los detalles de tu certificado.