SSL-Zertifikatsfehler beheben: So geht’s
Eine Browser-Warnung verschreckt Besucher direkt nach dem Aufruf, doch die Ursache ist meist eines von wenigen einfachen Problemen. So findest du heraus, welches du hast, und behebst es.
Finde heraus, welches Problem du hast
Gib deine Domain im SSL Checker ein oder führe diesen Befehl auf einem Rechner mit OpenSSL aus:
openssl s_client -connect example.com:443 -servername example.com </dev/null 2>/dev/null | openssl x509 -noout -subject -issuer -dates
Die Ausgabe zeigt, für wen das Zertifikat ausgestellt wurde, wer es ausgestellt hat und wann es abläuft. Ordne das anhand der folgenden Abschnitte zu.
Das Zertifikat ist abgelaufen
Das ist die häufigste Ursache und bedeutet meist, dass die automatische Erneuerung fehlgeschlagen ist. Teste bei Let’s Encrypt und Certbot zuerst die Erneuerung und erneuere dann:
sudo certbot renew --dry-run
sudo certbot renew
sudo systemctl reload nginx
Schlägt der Test fehl, liegt der übliche Grund darin, dass Port 80 blockiert ist oder eine Weiterleitung die Validierungsanfrage abfängt. Gehostete Plattformen erneuern automatisch. Prüfe deshalb, ob dein DNS noch auf sie zeigt.
Der Name stimmt nicht
Das Zertifikat muss genau die Adresse enthalten, die Besucher verwenden. Ein Zertifikat für example.com deckt www.example.com nicht ab, außer beide Namen sind enthalten. Stelle es mit beiden Namen neu aus:
sudo certbot --nginx -d example.com -d www.example.com
Die Zertifikatskette ist unvollständig
Deine Seite funktioniert vielleicht in manchen Browsern und in anderen nicht, oder auf Smartphones nicht. Das bedeutet meist, dass der Server das Zwischenzertifikat nicht mitsendet. Verweise in Nginx auf die vollständige Kette, nicht nur auf das Zertifikat:
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
Das Schloss fehlt oder die Seite warnt vor gemischten Inhalten
Das Zertifikat ist in Ordnung, aber die Seite lädt ein Bild oder Skript über http://. Öffne die Browser-Konsole, um die betroffene Datei zu finden, und ändere sie dann auf https://. Antwortet deine Seite weiterhin über HTTP, leite sie weiter und prüfe das mit dem Redirect Checker.
Nur eine Person sieht den Fehler
Wenn der SSL Checker besteht, aber ein Gerät meckert, liegt die Ursache auf diesem Gerät. Eine falsche Systemuhr ist der klassische Grund, gefolgt von Antivirensoftware oder einem Firmennetzwerk, das den Datenverkehr prüft.
Verhindere, dass es erneut passiert
- Prüfe nach jeder Serveränderung mit einem Testlauf, ob die automatische Erneuerung funktioniert.
- Setze vor dem Ablaufdatum eine Kalendererinnerung oder einen Uptime-Alarm.
- Nach der Behebung einer Domain kannst du Security-Header wie HSTS hinzufügen, aber erst, wenn HTTPS überall funktioniert.