Κεφάλαιο 5 · 5.1
Caddy: ένας ιστότοπος με αυτόματο https
Ο Caddy είναι ένας webserver που ζητά μόνος του πιστοποιητικό από το Let's Encrypt και το ανανεώνει έγκαιρα. Δεν χρειάζεται να ρυθμίσετε το certbot. Γι' αυτό, για έναν νέο server ο Caddy είναι η πιο εύκολη επιλογή.
Τι πρέπει να είναι έτοιμο;
- Οι εγγραφές A και AAAA του ονόματός σας δείχνουν στο VPS σας (δείτε Εγγραφή A και AAAA στα Τα domains μου).
- Οι θύρες 80 και 443 είναι ανοιχτές στο firewall σας (δείτε Firewall με ufw (ή nftables)). Το Let's Encrypt ελέγχει μέσω της θύρας 80 αν διαχειρίζεστε πράγματι το όνομα.
- Δεν εκτελείται άλλος webserver στη θύρα 80 ή 443, όπως nginx ή Apache.
Εγκατάσταση του Caddy
anna@web1:~$ sudo apt install caddy
anna@web1:~$ systemctl status caddy
Ο Caddy βρίσκεται στο αποθετήριο πακέτων του Debian και του Ubuntu και ξεκινά αμέσως ως υπηρεσία. Αν θέλετε πάντα την πιο πρόσφατη έκδοση, χρησιμοποιήστε το αποθετήριο πακέτων του ίδιου του Caddy, σύμφωνα με το caddyserver.com/docs/install.
Ο πρώτος σας ιστότοπος
Τοποθετήστε τα αρχεία σας σε έναν φάκελο, για παράδειγμα /srv/www/example.com, και ανοίξτε το αρχείο ρυθμίσεων:
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
Αντικαταστήστε το περιεχόμενο με:
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
Ανοίξτε το https://example.com. Ο Caddy λαμβάνει το πιστοποιητικό με την πρώτη επίσκεψη ή μέσα σε λίγα δευτερόλεπτα μετά την επαναφόρτωση, και ανακατευθύνει αυτόματα το http στο https.
Δεν λειτουργεί;
anna@web1:~$ journalctl -u caddy --since "10 minutes ago"
Οι πιο συνηθισμένες αιτίες: το DNS δεν δείχνει ακόμη στο VPS σας, η θύρα 80 είναι κλειστή ή κάτι άλλο εκτελείται ήδη στη θύρα 80. Περισσότερα στο Ο ιστότοπος δεν είναι προσβάσιμος, 502 Bad Gateway ή σφάλμα πιστοποιητικού.
Συμβουλή: Προσθέστε στην αρχή του Caddyfile ένα μπλοκ με τη διεύθυνση email σας. Έτσι το Let's Encrypt μπορεί να επικοινωνήσει μαζί σας αν υπάρξει κάποιο πρόβλημα με τα πιστοποιητικά σας:
{
email beheer@example.com
}