Cómo configurar HTTPS con Let’s Encrypt

Guía para configurar certificados SSL/TLS gratuitos de Let's Encrypt mediante Certbot │ para habilitar HTTPS en tu sitio web, que incluye la instalación, la configuración y │ la renovación automática.

Beginner

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:

  1. Nombre de dominio: Debes ser propietario o tener control sobre el nombre de dominio registrado para el que deseas obtener un certificado.
  2. Configuración de DNS: Los registros DNS de tu nombre de dominio deben apuntar a la dirección IP pública de tu servidor.
  3. Servidor web: Necesitas tener un servidor web (Apache o Nginx) instalado y configurado para alojar tu sitio web.
  4. Acceso SSH: Necesitarás acceso SSH a tu servidor con sudo privilegios.
  5. 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 tienes snapd instalado, 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, o yum, elimina esos paquetes para evitar conflictos. Por ejemplo, en Ubuntu, puedes ejecutar sudo 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/certbot El snap paquete 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.com Sustituye yourdomain.com por 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.com De nuevo, sustituye yourdomain.com por 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.