Kapitel 5 · 5.1
Caddy: en webbplats med automatisk https
Caddy är en webbserver som själv begär ett certifikat från Let's Encrypt och förnyar det i tid. Du behöver inte ställa in certbot. Därför är Caddy det enklaste valet för en ny server.
Vad behöver vara klart?
- A- och AAAA-posten för ditt namn pekar på din VPS (se En A- och AAAA-post i Mina domäner).
- Port 80 och 443 är öppna i din brandvägg (se En brandvägg med ufw (eller nftables)). Let's Encrypt kontrollerar via port 80 att du verkligen äger namnet.
- Ingen annan webbserver körs på port 80 eller 443, till exempel nginx eller Apache.
Installera Caddy
anna@web1:~$ sudo apt install caddy
anna@web1:~$ systemctl status caddy
Caddy finns i paketkällan för Debian och Ubuntu och startar direkt som tjänst. Vill du alltid ha den senaste versionen använder du Caddys egen paketkälla, enligt caddyserver.com/docs/install.
Din första webbplats
Lägg dina filer i en mapp, till exempel /srv/www/example.com, och öppna inställningsfilen:
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
Ersätt innehållet 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
Öppna https://example.com. Caddy hämtar certifikatet vid första besöket eller inom några sekunder efter omladdningen, och skickar automatiskt vidare http till https.
Fungerar det inte?
anna@web1:~$ journalctl -u caddy --since "10 minutes ago"
De vanligaste orsakerna: DNS pekar ännu inte på din VPS, port 80 är stängd eller något annat körs redan på port 80. Mer i Webbplatsen går inte att nå, 502 Bad Gateway eller certifikatfel.
Tips: Lägg ett block med din e-postadress högst upp i Caddyfile. Då kan Let's Encrypt nå dig om något är fel med dina certifikat:
{
email beheer@example.com
}