Netzwerk, Domains & DNS

Wie können wir helfen?

Anleitungen und technische Dokumentation für Ihren Dedicated Server oder VPS von Server4You.

Let's Encrypt mit Nginx

Diese Anleitung erklärt, wie Sie mit Certbot ein kostenloses SSL-Zertifikat von Let's Encrypt auf einem Linux-Server mit Nginx (Debian, Ubuntu, AlmaLinux oder Rocky Linux) installieren und die automatische Erneuerung prüfen.

Voraussetzungen: Nginx muss installiert und aktiv sein. Der A-Eintrag Ihrer Domain muss auf die IP Ihres Servers zeigen. Port 80 und 443 müssen in der Firewall geöffnet sein.

Schritt 1: Certbot installieren

Certbot und das Nginx-Plugin über den Paketmanager installieren.

Debian / Ubuntu

Terminal
apt update apt install certbot python3-certbot-nginx

AlmaLinux / Rocky Linux

Terminal
dnf install epel-release dnf install certbot python3-certbot-nginx

Schritt 2: Zertifikat ausstellen

Certbot stellt das Zertifikat aus und konfiguriert Nginx automatisch.

Ersetzen Sie ihre-domain.de durch Ihren tatsächlichen Domainnamen. Für mehrere Domains fügen Sie weitere -d-Parameter an:

Terminal
certbot --nginx -d ihre-domain.de -d www.ihre-domain.de

Beim ersten Aufruf fragt Certbot nach einer E-Mail-Adresse und Ihrer Zustimmung zu den Nutzungsbedingungen. Anschließend richtet Certbot die Weiterleitung von HTTP auf HTTPS automatisch ein — für die meisten Websites die richtige Wahl. Wenn Sie keine Weiterleitung möchten, ergänzen Sie --no-redirect.

Schritt 3: Installation prüfen

Nginx-Konfiguration testen und neu laden.
Terminal
nginx -t systemctl reload nginx

Öffnen Sie Ihre Domain im Browser — Sie sollten jetzt https:// und das Schloss-Symbol sehen. Für eine detaillierte Prüfung können Sie SSL Labs verwenden.

Schritt 4: Automatische Erneuerung prüfen

Let's-Encrypt-Zertifikate sind derzeit 90 Tage gültig — Certbot erneuert sie automatisch.

Certbot richtet bei der Installation automatisch einen systemd-Timer oder Cronjob ein. Prüfen Sie, ob der Timer aktiv ist:

Terminal
systemctl status certbot.timer

Testen Sie den Erneuerungsprozess mit einem Probelauf — dabei wird kein echtes Zertifikat ausgestellt:

Terminal
certbot renew --dry-run

Wenn --dry-run erfolgreich ist, funktioniert die automatische Erneuerung korrekt. Weitere Schritte sind nicht nötig.

Zertifikat manuell erneuern

Falls eine manuelle Erneuerung notwendig ist.
Terminal
certbot renew systemctl reload nginx

Häufige Fehlermeldungen

FehlerUrsache & Lösung
Connection refused on port 80Port 80 ist in der Firewall gesperrt. In iptables oder nftables öffnen.
DNS problem: NXDOMAINDer A-Eintrag der Domain zeigt nicht auf diesen Server. DNS prüfen und ggf. warten, bis die Änderung propagiert ist.
too many certificates already issuedLet's Encrypt stellt pro Woche höchstens 5 Zertifikate für exakt dieselben Domainnamen aus (50 pro registrierter Domain). Warten oder für Tests die Staging-Umgebung (--staging) verwenden.
nginx: configuration file test failedCertbot hat die Nginx-Konfiguration fehlerhaft modifiziert. Mit nginx -t prüfen und ggf. manuell korrigieren.

Weiterführende Dokumentation

Die vollständige Certbot-Dokumentation finden Sie auf der offiziellen Website.