El candado que sale junto a la dirección de una web significa que la conexión va cifrada y que la web es quien dice ser. Sin él, los navegadores avisan de "sitio no seguro", Google posiciona peor y los formularios viajan en claro. Hace años un certificado costaba dinero y papeleo; hoy Let's Encrypt los da gratis y se renuevan solos.
En una máquina Lightsail hay dos situaciones. Si la creaste desde una plantilla de aplicación (WordPress, Joomla, LAMP...), es una imagen de Bitnami y trae una herramienta que lo hace todo con unas preguntas. Si es un Linux "pelado" (Ubuntu, Debian, Amazon Linux) donde instalaste tú el servidor web, usarás Certbot, que también es sencillo. La guía cubre las dos.
Antes de empezar: qué significa cada cosa
- HTTPS y certificado
- HTTPS es la versión segura de HTTP, la forma en que el navegador habla con tu web. Para usarla, la web necesita un certificado: un fichero que demuestra que el dominio es tuyo y permite cifrar la conexión.
- Let's Encrypt
- Una entidad sin ánimo de lucro que emite certificados gratis. Duran 90 días y se renuevan automáticamente con un programa.
- Certbot
- El programa más usado para pedir e instalar certificados de Let's Encrypt en un servidor Linux.
- Bitnami
- La empresa que prepara las plantillas de aplicaciones de Lightsail (WordPress, etc.). Sus máquinas traen una herramienta propia, bncert-tool, para el certificado.
- Apache y Nginx
- Los dos servidores web más comunes: el programa dentro de la máquina que entrega las páginas al navegador. El certificado se instala en él.
- Puerto 443
- La "puerta" por la que entra el tráfico HTTPS. El cortafuegos de Lightsail debe tenerla abierta.
- SSH / terminal del navegador
- La forma de dar órdenes a la máquina escribiendo comandos. En Lightsail puedes abrirla con un botón en la consola, sin instalar nada.
- Registro A
- La entrada del DNS que hace que tu dominio apunte a la IP de la máquina. Let's Encrypt lo comprueba antes de dar el certificado.
Paso a paso
Comprueba el dominio y el cortafuegos
Dos requisitos sin los cuales nada funcionará. Primero, el dominio debe apuntar ya a la IP de la máquina (y conviene que sea una IP estática): escribe el dominio en el navegador y debe cargar tu web, aunque sea sin candado. Segundo, en Lightsail, pestaña Redes de la máquina, el cortafuegos debe tener abiertos HTTP (80) y HTTPS (443). El 443 no viene abierto por defecto: añádelo si falta.
Abre la terminal de la máquina
En la consola de Lightsail, pulsa el botón Conectar mediante SSH de la máquina (el icono de terminal naranja). Se abre una ventana negra en el navegador donde escribirás los comandos de los pasos siguientes. No hace falta instalar ningún programa en tu ordenador.
Si tu máquina es Bitnami: usa su herramienta
Escribe:
sudo /opt/bitnami/bncert-toolTe preguntará los dominios (escribe
midominio.com www.midominio.com), si quieres redirigir HTTP a HTTPS (di que sí) y si quieres que www redirija al dominio sin www o al revés (elige uno). Al final pide un correo para los avisos de Let's Encrypt y que aceptes sus condiciones. Reinicia los servicios por ti. Cuando termina, el certificado está puesto y la renovación programada. Pasa al paso 5.Si tu máquina es un Linux normal: usa Certbot
En Ubuntu o Debian con Apache:
sudo apt update sudo apt install -y certbot python3-certbot-apache sudo certbot --apache -d midominio.com -d www.midominio.comCon Nginx, cambia
python3-certbot-apacheporpython3-certbot-nginxy--apachepor--nginx. Certbot te pide un correo, que aceptes las condiciones y si quieres redirigir todo el tráfico a HTTPS (di que sí). Él mismo modifica la configuración del servidor web y lo recarga. En Amazon Linux los nombres de los paquetes cambian; la documentación de Certbot tiene las instrucciones exactas para cada sistema.Comprueba el candado
Abre
https://midominio.comen el navegador: debe salir el candado y, al pulsarlo, un certificado emitido por Let's Encrypt (aparece como "R3", "R10" u otro nombre corto). Prueba también la versión sin https: debe redirigir sola a la segura. Si usas WordPress, revisa en Ajustes, Generales que las dos direcciones empiecen por https.Confirma que se renovará solo
Los certificados de Let's Encrypt caducan a los 90 días, pero tanto bncert-tool como Certbot dejan programada la renovación automática. Para quedarte tranquilo, en la terminal:
sudo certbot renew --dry-run(En Bitnami, el equivalente es comprobar que existe la tarea en
sudo crontab -l.) Si el ensayo termina sin errores, no tendrás que volver a tocar esto. Let's Encrypt te enviará un correo si alguna vez la renovación falla.
Qué puede salir mal
Dice que no puede verificar el dominio
O el dominio no apunta todavía a esta máquina (espera a que el DNS propague), o el puerto 80 está cerrado en el cortafuegos de Lightsail. Let's Encrypt necesita llegar a tu web por el puerto 80 para comprobar que es tuya.
Hay candado pero el navegador avisa de "contenido mixto"
La página carga imágenes o scripts con direcciones http://. En WordPress, cambia las direcciones del sitio a https en Ajustes y, si hace falta, usa un plugin que reescriba las URL antiguas. En una web a mano, corrige los enlaces.
Funciona sin www pero no con www (o al revés)
Falta uno de los dos nombres en el certificado o en el DNS. Repite el comando incluyendo los dos con -d, y comprueba que www tiene su registro en el DNS.
Me he quedado sin acceso tras tocar el cortafuegos
El cortafuegos de Lightsail se arregla desde la consola, no desde la máquina. Vuelve a la pestaña Redes y revisa las reglas. La terminal del navegador siempre funciona.
En Simplio
En Simplio puedes lanzar la instalación del certificado de Let's Encrypt en una máquina Lightsail desde el catálogo de scripts, escribiendo solo el dominio: Simplio entra con la clave temporal que da AWS, ejecuta los pasos y te devuelve el resultado, sin dejar nada instalado. Y te avisa por correo si un certificado está a punto de caducar sin renovarse.
Lo mismo, en AWS y en Simplio
| En la consola de AWS | En Simplio | |
|---|---|---|
| Poner el certificado | Abrir puerto 443, terminal, bncert-tool o Certbot, responder preguntas: 5 pasos, 20 minutos y una terminal | Script de Let's Encrypt del catálogo: escribir el dominio y pulsar, 2 minutos |
| Si la renovación falla | Correo de Let's Encrypt a quien lo configuró, si sigue en la empresa | Aviso por correo de certificado a punto de caducar |
| Varias webs | Repetir en cada máquina | El mismo script en cada máquina, desde la misma lista |