Capitolo 5 · 5.1
Caddy: un sito web con https automatico
Caddy è un server web che richiede autonomamente un certificato a Let's Encrypt e lo rinnova in tempo. Non è necessario configurare certbot. Per un nuovo server, Caddy è quindi la scelta più semplice.
Che cosa deve essere pronto?
- I record A e AAAA del Suo nome puntano al Suo VPS (vedere Un record A e AAAA in I miei domini).
- Le porte 80 e 443 sono aperte nel Suo firewall (vedere Un firewall con ufw (o nftables)). Let's Encrypt verifica tramite la porta 80 che Lei gestisca davvero il nome.
- Sulla porta 80 o 443 non è in esecuzione un altro server web, come nginx o Apache.
Installare Caddy
anna@web1:~$ sudo apt install caddy
anna@web1:~$ systemctl status caddy
Caddy è disponibile nella sorgente dei pacchetti di Debian e Ubuntu e si avvia subito come servizio. Se desidera avere sempre la versione più recente, utilizzi la sorgente dei pacchetti di Caddy stesso, seguendo caddyserver.com/docs/install.
Il Suo primo sito
Metta i Suoi file in una cartella, ad esempio /srv/www/example.com, e apra il file di configurazione:
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
Sostituisca il contenuto con:
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
Apra https://example.com. Caddy ottiene il certificato alla prima visita o entro pochi secondi dal ricaricamento, e reindirizza automaticamente http a https.
Non funziona?
anna@web1:~$ journalctl -u caddy --since "10 minutes ago"
Le cause più frequenti: il DNS non punta ancora al Suo VPS, la porta 80 è chiusa oppure sulla porta 80 è già in esecuzione qualcos'altro. Maggiori informazioni in Sito web non raggiungibile, 502 Bad Gateway o errore del certificato.
Suggerimento: In cima al Caddyfile inserisca un blocco con il Suo indirizzo e-mail. In questo modo Let's Encrypt potrà contattarLa in caso di problemi con i Suoi certificati:
{
email beheer@example.com
}