Kurze Antwort
Ein SSL-Zertifikat wird automatisch erneuert, wenn die automatische Erneuerung eingerichtet ist (Cron-Job oder systemd-Timer). Ein kommerzielles Zertifikat erneuern Sie manuell vor dem Ablaufdatum. Prüfen Sie das Ablaufdatum mit dem Befehl `openssl x509 -enddate -noout -in zertifikat.crt`, richten Sie die automatische Erneuerung ein und achten Sie auf Warnungen. So vermeiden Sie Ausfälle der Website und Browserwarnungen.
So erkennen Sie das Problem
- Der Browser zeigt die Warnung „Verbindung ist nicht privat“ oder „Zertifikat ist abgelaufen“ an
- Benutzer können nicht auf die Website zugreifen oder es wird ein Sicherheitsfehler angezeigt
- Die HTTPS-Verbindung wird unterbrochen oder der Browser erlaubt kein Fortfahren
- Überwachungstools melden, dass das Zertifikat abgelaufen ist
- E-Mails über den Ablauf des Zertifikats kommen von der Zertifizierungsstelle
Häufigste Ursachen
Automatische Erneuerung nicht eingerichtet
Let's Encrypt-Zertifikate sind 90 Tage gültig, und die automatische Erneuerung wird empfohlen. Wenn der Cron-Job oder systemd-Timer nicht aktiv ist, läuft das Zertifikat ab.
Cron-Job für die Erneuerung funktioniert nicht
Der Job kann falsch geschrieben sein, es können Berechtigungen fehlen oder er wird in der falschen Umgebung ausgeführt, sodass die Erneuerung nicht stattfindet.
Manuelle Verwaltung eines kommerziellen Zertifikats
Kommerzielle Zertifikate haben eine begrenzte Gültigkeitsdauer (nach den geltenden Regeln höchstens 200 Tage) und werden in der Regel manuell erneuert. Ohne Erinnerung wird das Ablaufdatum leicht verpasst.
Änderung der Serverkonfiguration
Nach einer Website-Migration oder einem Wechsel des Webservers können die Pfade zum Zertifikat oder die Art der Erneuerung falsch sein.
Falsche Systemzeit
Der Server kann aufgrund einer falschen Systemzeit einen früheren Ablauf melden. Prüfen Sie, ob die Zeit korrekt ist.
Lösung Schritt für Schritt
- 1
Ablaufdatum des Zertifikats prüfen
Führen Sie
openssl x509 -enddate -noout -in /pfad/zum/zertifikat.crtaus, um das genaue Datum zu sehen. Alternativ klicken Sie im Browser auf das Schloss neben der Adresse und sehen Sie sich die Zertifikatsdetails an. Notieren Sie das Datum und vergleichen Sie es mit dem aktuellen. - 2
Prüfen, ob die automatische Erneuerung aktiv ist
Führen Sie für Let's Encrypt mit certbot
sudo certbot renew --dry-runaus. Wenn die Ausgabe erfolgreich ist, funktioniert die Erneuerung. Andernfalls prüfen Sie die Cron-Jobs (zum Beispiel mitsudo crontab -l) oder systemd-Timer mitsystemctl list-timers. - 3
Zertifikat manuell erneuern
Wenn das Zertifikat abgelaufen ist, führen Sie
sudo certbot renewaus. Wenn das nicht funktioniert, führen Siesudo certbot certonly --force-renewal -d ihreadresse.comaus; verwenden Sie--force-renewalnur, wenn es aufgrund von Ausstellungslimits notwendig ist. Für ein kommerzielles Zertifikat laden Sie ein neues vom Aussteller herunter, erstellen Sie eine Sicherungskopie der alten Datei und ersetzen Sie sie. - 4
Webserver neu laden
Nach der Erneuerung wenden Sie die Änderungen an:
sudo systemctl reload nginxodersudo systemctl reload apache2. Prüfen Sie, ob die Website wieder über HTTPS erreichbar ist. - 5
Automatische Erneuerung einrichten
Wenn Sie Let's Encrypt verwenden, nutzen Sie nur einen Mechanismus zur automatischen Erneuerung. Prüfen Sie für Cron, ob im Crontab des Benutzers root ein aktiver Job vorhanden ist, zum Beispiel:
0 3 * * * /usr/bin/certbot renew --quiet(passen Sie den Pfad zu certbot an). Prüfen Sie für systemd, obcertbot.timermitsystemctl status certbot.timeraktiv ist, und verwenden Sie nicht gleichzeitig Cron. - 6
Erneuerung testen
Führen Sie
sudo certbot renew --dry-runaus, um die Erneuerung zu simulieren, ohne tatsächlich ein Zertifikat auszustellen. Stellen Sie sicher, dass keine Fehler bei der Authentifizierung oder den Berechtigungen auftreten. - 7
Ablaufüberwachung einrichten
Verwenden Sie ein Tool wie
ssl-cert-checkoder einen externen Überwachungsdienst. Richten Sie Warnungen mindestens 14 Tage vor Ablauf ein. Prüfen Sie regelmäßig die E-Mails der Zertifizierungsstelle.
Wenn nichts hilft
Wenn das Zertifikat auch nach dem manuellen Start nicht erneuert wird, prüfen Sie die Logs: sudo journalctl -u certbot.service oder /var/log/letsencrypt/letsencrypt.log. Häufige Fehler sind eine fehlgeschlagene HTTP-Authentifizierung (für die HTTP-01-Challenge muss Port 80 erreichbar sein), ein falscher Pfad zum Webroot-Verzeichnis oder fehlende Berechtigungen. Prüfen Sie bei kommerziellen Zertifikaten, ob Sie auch das Zwischenzertifikat (CA-Bundle) installiert haben. Wenn die Website in Produktion ist und nicht unerreichbar sein darf, ziehen Sie die vorübergehende Verwendung eines kostenlosen Zertifikats in Betracht, bis Sie das Problem gelöst haben. Erstellen Sie vor Änderungen immer eine Sicherungskopie der Konfiguration.
So beugen Sie vor
- Prüfen Sie regelmäßig das Ablaufdatum des Zertifikats und richten Sie Erinnerungen ein
- Aktivieren Sie die automatische Erneuerung und testen Sie sie einmal monatlich
- Achten Sie auf E-Mails der Zertifizierungsstelle und ignorieren Sie keine Warnungen
- Verwenden Sie ein Überwachungstool, das Sie vor Ablauf benachrichtigt
Wann Sie einen Profi rufen sollten
Wenn Sie nicht sicher sind, wie Sie die automatische Erneuerung einrichten, oder wenn bei der Erneuerung Fehler auftreten, die Sie nicht selbst lösen können, wenden Sie sich an einen IT-Fachmann. Wenn die Website stark frequentiert ist und nicht unerreichbar sein darf, sollten Sie die Erneuerung besser Fachleuten überlassen.
IT-Infrastruktur-Wartung · Server, Netzwerke, Backup, Sicherheit und HelpdeskHäufige Fragen
Wie oft sollte ein SSL-Zertifikat erneuert werden?
Let's Encrypt-Zertifikate sind 90 Tage gültig, und die automatische Erneuerung wird empfohlen. Kommerzielle Zertifikate sind heute meist deutlich kürzer als ein Jahr gültig (nach den geltenden Regeln höchstens 200 Tage), und die genaue Laufzeit hängt vom Aussteller ab. Prüfen Sie immer das Ablaufdatum und richten Sie, wo möglich, die automatische Erneuerung ein.
Was passiert, wenn das Zertifikat abläuft?
Browser zeigen eine Warnung an, dass die Verbindung nicht sicher ist, und Benutzer können den Besuch abbrechen. Mit HSTS oder strengeren Sicherheitsrichtlinien kann der Zugriff vollständig blockiert werden, was die Sicherheit und den Ruf der Website beeinträchtigt.
Wie erkenne ich, dass die Erneuerung erfolgreich war?
Prüfen Sie nach der Erneuerung das neue Ablaufdatum mit `openssl x509 -enddate -noout -in zertifikat.crt` oder im Browser. Stellen Sie sicher, dass die Website ohne Warnung funktioniert und der Webserver neu geladen wurde.