Kapitola 5 · 5.1
Caddy: web s automatickým https
Caddy je webový server, který si sám vyžádá certifikát od Let's Encrypt a včas ho obnoví. Nemusíte nastavovat certbot. Pro nový server je proto Caddy nejjednodušší volbou.
Co musí být připraveno?
- Záznamy A a AAAA Vašeho názvu směřují na Váš VPS (viz Záznam A a AAAA v sekci Moje domény).
- Porty 80 a 443 jsou ve Vašem firewallu otevřené (viz Firewall s ufw (nebo nftables)). Let's Encrypt přes port 80 ověřuje, zda název skutečně spravujete.
- Na portu 80 ani 443 neběží žádný jiný webový server, například nginx nebo Apache.
Instalace Caddy
anna@web1:~$ sudo apt install caddy
anna@web1:~$ systemctl status caddy
Caddy je v repozitáři balíčků Debian a Ubuntu a hned se spustí jako služba. Pokud chcete mít vždy nejnovější verzi, použijte repozitář balíčků přímo od Caddy podle caddyserver.com/docs/install.
Váš první web
Uložte své soubory do složky, například /srv/www/example.com, a otevřete konfigurační soubor:
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
Nahraďte jeho obsah tímto:
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
Otevřete https://example.com. Caddy získá certifikát při první návštěvě nebo během několika sekund po opětovném načtení a http automaticky přesměruje na https.
Nefunguje to?
anna@web1:~$ journalctl -u caddy --since "10 minutes ago"
Nejčastější příčiny: DNS ještě nesměřuje na Váš VPS, port 80 je zavřený, nebo na portu 80 už běží něco jiného. Více v Web je nedostupný, 502 Bad Gateway nebo chyba certifikátu.
Tip: Na začátek souboru Caddyfile vložte blok se svou e-mailovou adresou. Let's Encrypt Vás pak může kontaktovat, pokud se s Vašimi certifikáty něco stane:
{
email beheer@example.com
}