Rozdział 5 · 5.1
Caddy: strona internetowa z automatycznym https
Caddy to serwer WWW, który sam wnioskuje o certyfikat Let's Encrypt i odnawia go w odpowiednim czasie. Nie muszą Państwo konfigurować certbota. Dlatego w przypadku nowego serwera Caddy jest najprostszym wyborem.
Co należy przygotować?
- Rekordy A i AAAA Państwa nazwy wskazują na VPS (zob. Rekord A i AAAA w Moje domeny).
- Porty 80 i 443 są otwarte w zaporze (zob. Zapora sieciowa z ufw (lub nftables)). Let's Encrypt sprawdza przez port 80, czy rzeczywiście zarządzają Państwo tą nazwą.
- Na porcie 80 ani 443 nie działa inny serwer WWW, taki jak nginx lub Apache.
Instalacja Caddy
anna@web1:~$ sudo apt install caddy
anna@web1:~$ systemctl status caddy
Caddy jest dostępny w repozytorium pakietów Debiana i Ubuntu i od razu uruchamia się jako usługa. Jeśli chcą Państwo zawsze mieć najnowszą wersję, prosimy skorzystać z repozytorium pakietów samego Caddy, zgodnie z caddyserver.com/docs/install.
Pierwsza strona
Prosimy umieścić pliki w katalogu, na przykład /srv/www/example.com, i otworzyć plik konfiguracyjny:
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
Prosimy zastąpić jego zawartość następującą:
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
Prosimy otworzyć https://example.com. Caddy pobiera certyfikat przy pierwszej wizycie lub w ciągu kilku sekund po przeładowaniu i automatycznie przekierowuje http na https.
Nie działa?
anna@web1:~$ journalctl -u caddy --since "10 minutes ago"
Najczęstsze przyczyny: DNS jeszcze nie wskazuje na VPS, port 80 jest zamknięty lub na porcie 80 działa już coś innego. Więcej w Strona niedostępna, 502 Bad Gateway lub błąd certyfikatu.
Wskazówka: Prosimy dodać na początku pliku Caddyfile blok z Państwa adresem e-mail. Dzięki temu Let's Encrypt będzie mógł się z Państwem skontaktować, jeśli wystąpi problem z certyfikatami:
{
email beheer@example.com
}