Kapitel 5 · 5.1
Caddy: en hjemmeside med automatisk https
Caddy er en webserver, der selv anmoder om et certifikat fra Let's Encrypt og fornyer det i god tid. Du behøver ikke at sætte certbot op. Til en ny server er Caddy derfor det nemmeste valg.
Hvad skal være klar?
- A- og AAAA-recorden for dit navn peger på din VPS (se En A- og AAAA-post i Mine domæner).
- Port 80 og 443 er åbne i din firewall (se En firewall med ufw (eller nftables)). Let's Encrypt kontrollerer via port 80, at du faktisk administrerer navnet.
- Der kører ingen anden webserver på port 80 eller 443, som nginx eller Apache.
Installer Caddy
anna@web1:~$ sudo apt install caddy
anna@web1:~$ systemctl status caddy
Caddy findes i pakkekilden til Debian og Ubuntu og starter med det samme som tjeneste. Vil du altid have den nyeste version, så brug Caddys egen pakkekilde som beskrevet på caddyserver.com/docs/install.
Din første side
Læg dine filer i en mappe, for eksempel /srv/www/example.com, og åbn konfigurationsfilen:
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
Erstat indholdet med:
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
Åbn https://example.com. Caddy henter certifikatet ved det første besøg eller få sekunder efter genindlæsningen og viderestiller automatisk http til https.
Virker det ikke?
anna@web1:~$ journalctl -u caddy --since "10 minutes ago"
De mest almindelige årsager: DNS peger endnu ikke på din VPS, port 80 er lukket, eller der kører allerede noget andet på port 80. Læs mere i Hjemmesiden kan ikke nås, 502 Bad Gateway eller certifikatfejl.
Tip: Sæt en blok med din e-mailadresse øverst i Caddyfile. Så kan Let's Encrypt kontakte dig, hvis der er noget med dine certifikater:
{
email beheer@example.com
}