Kapittel 5 · 5.1
Caddy: et nettsted med automatisk https
Caddy er en webserver som selv bestiller et sertifikat fra Let's Encrypt og fornyer det i tide. Du trenger ikke å sette opp certbot. For en ny server er Caddy derfor det enkleste valget.
Hva må være klart?
- A- og AAAA-posten for navnet ditt peker til din VPS (se En A- og AAAA-post i Mine domener).
- Port 80 og 443 er åpne i brannmuren (se En brannmur med ufw (eller nftables)). Let's Encrypt kontrollerer via port 80 at du faktisk har kontroll over navnet.
- Det kjører ingen annen webserver på port 80 eller 443, som nginx eller Apache.
Installere Caddy
anna@web1:~$ sudo apt install caddy
anna@web1:~$ systemctl status caddy
Caddy finnes i pakkekilden til Debian og Ubuntu og starter med en gang som tjeneste. Vil du alltid ha den nyeste versjonen, bruker du Caddys egen pakkekilde, som beskrevet på caddyserver.com/docs/install.
Ditt første nettsted
Legg filene dine i en mappe, for eksempel /srv/www/example.com, og åpne konfigurasjonsfilen:
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
Erstatt innholdet 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
Åpne https://example.com. Caddy henter sertifikatet ved første besøk eller i løpet av noen sekunder etter at konfigurasjonen er lastet inn på nytt, og sender http automatisk videre til https.
Fungerer det ikke?
anna@web1:~$ journalctl -u caddy --since "10 minutes ago"
De vanligste årsakene: DNS peker ennå ikke til din VPS, port 80 er stengt, eller noe annet kjører allerede på port 80. Les mer i Nettstedet svarer ikke, 502 Bad Gateway eller sertifikatfeil.
Tips: Legg inn en blokk med e-postadressen din øverst i Caddyfile. Da kan Let's Encrypt nå deg hvis det er noe med sertifikatene dine:
{
email beheer@example.com
}