Capítulo 5 · 5.1
Caddy: un sitio web con https automático
Caddy es un servidor web que solicita por sí mismo un certificado de Let's Encrypt y lo renueva a tiempo. No necesita configurar certbot. Por eso, para un servidor nuevo, Caddy es la opción más sencilla.
¿Qué debe tener preparado?
- Los registros A y AAAA de su nombre apuntan a su VPS (consulte Un registro A y AAAA en Mis dominios).
- Los puertos 80 y 443 están abiertos en su firewall (consulte Un cortafuegos con ufw (o nftables)). Let's Encrypt comprueba a través del puerto 80 que usted realmente gestiona el nombre.
- No hay ningún otro servidor web funcionando en el puerto 80 o 443, como nginx o Apache.
Instalar Caddy
anna@web1:~$ sudo apt install caddy
anna@web1:~$ systemctl status caddy
Caddy está disponible en el repositorio de paquetes de Debian y Ubuntu y se inicia de inmediato como servicio. Si desea tener siempre la versión más reciente, utilice el repositorio de paquetes del propio Caddy, según caddyserver.com/docs/install.
Su primer sitio
Coloque sus archivos en una carpeta, por ejemplo /srv/www/example.com, y abra el archivo de configuración:
anna@web1:~$ sudo mkdir -p /srv/www/example.com
anna@web1:~$ echo '<h1>Het werkt</h1>' | sudo tee /srv/www/example.com/index.html
anna@web1:~$ sudo nano /etc/caddy/Caddyfile
Sustituya el contenido por:
example.com, www.example.com {
root * /srv/www/example.com
file_server
encode zstd gzip
}
anna@web1:~$ caddy validate --config /etc/caddy/Caddyfile
anna@web1:~$ sudo systemctl reload caddy
Abra https://example.com. Caddy obtiene el certificado en la primera visita o pocos segundos después de recargar, y redirige automáticamente http a https.
¿No funciona?
anna@web1:~$ journalctl -u caddy --since "10 minutes ago"
Las causas más habituales: el DNS todavía no apunta a su VPS, el puerto 80 está cerrado o ya hay otro programa funcionando en el puerto 80. Más información en Sitio web inaccesible, 502 Bad Gateway o error de certificado.
Consejo: Añada al principio del Caddyfile un bloque con su dirección de correo electrónico. Así Let's Encrypt podrá ponerse en contacto con usted si ocurre algo con sus certificados:
{
email beheer@example.com
}