Nginx Lets Encrypt und Certbot
Automatisierte TLS-Zertifikate für öffentlich erreichbare Nginx-Server mit Let's Encrypt und Certbot. Ergänzt Nginx Zertifikate/Nginx https (dort: manuell/selbstsigniert).
Voraussetzungen
- ein öffentlicher DNS-Eintrag zeigt bereits auf diesen Server (
server_nameallein erzeugt keinen DNS-Eintrag, siehe Nginx Grundkonfiguration) - Domainkontrolle
- die HTTP-01-Challenge braucht einen von außen erreichbaren Port 80 (oder eine andere unterstützte Challenge-Methode, z. B. DNS-01)
Installation (Debian/Ubuntu)
sudo apt install certbot python3-certbot-nginx sudo certbot --nginx -d example.com
Certbot erkennt den passenden server-Block automatisch, trägt listen 443 ssl; sowie ssl_certificate/ssl_certificate_key ein und bietet an, Port 80 automatisch auf HTTPS weiterzuleiten.
Erneuerung
sudo certbot renew --dry-run
Prüft, ob die automatische Erneuerung funktionieren würde, ohne ein echtes Zertifikat auszustellen (zählt nicht gegen die Let's-Encrypt-Rate-Limits). Das Paket richtet normalerweise selbst einen Timer oder Service dafür ein:
systemctl list-timers | grep certbot
Prüfen
curl -I https://example.com
Zusätzlich das Ablaufdatum im Blick behalten – Zertifikate von Let's Encrypt gelten 90 Tage, die automatische Erneuerung greift normalerweise rechtzeitig vorher.
Vorsicht
- Zertifikate nie für Domains beantragen, die man nicht kontrolliert (Rate Limits bei Let's Encrypt, Missbrauchsrisiko)
- Port 80 muss während Ausstellung und Erneuerung erreichbar sein – eine Firewall-Regel, die ihn sperrt, lässt die automatische Erneuerung still scheitern, bis das Zertifikat irgendwann abgelaufen ist
- Bei mehreren
server-Blöcken:certbot --nginxohne-dfragt interaktiv nach, mit-deinen oder mehrere Hostnamen gezielt angeben
Unterschied zu den bestehenden Zertifikats-Seiten
Nginx Zertifikate, Nginx https und Nginx Client Zertifikat behandeln manuell erzeugte bzw. selbstsignierte Zertifikate und mTLS – passend für interne Testumgebungen ohne öffentliche Domain. Let's Encrypt/Certbot ist der Weg für öffentlich erreichbare Server mit echter Domain: automatisiert, kostenlos, mit automatischer Erneuerung statt manueller Pflege.