Arama Yap Mesaj Senden
Rückruf anfordern
+90
X
X

Wählen Sie Ihre Währung

Türkische Lira $ US Dollar Euro
X
X

Wählen Sie Ihre Währung

Türkische Lira $ US Dollar Euro

Kontaktieren Sie uns

Standort Halkali Merkez Viertel Fatih Str. Ozgur Apt. No. 46, Kucukcekmece, Istanbul, 34303, TR
Technischer Leitfaden für NGINX

NGINX SSL-Zertifikat funktioniert nicht: Kette, Schlüssel und Handshake-Leitfaden

NGINX-SSL-Fehler können durch fehlendes Zertifikat, privater-Schlüssel-ungleichheit, unvollständige Intermediate-Kette, falsche SNI-Vhost, abgelaufenes Zertifikat oder TLS-Inkompatibilität verursacht werden. Diese Anleitung überprüft Zertifikat-Schlüssel-Übereinstimmung und tatsächliche angebotene Kette.

SSL HandshakeFullchainPrivate KeySNICertbot
root@server:~SSH
nginx: [emerg] SSL_CTX_use_PrivateKey("/etc/ssl/private/example.key") failed
error:05800074:x509 certificate routines::key values mismatch
SSL_do_handshake() failed
AnforderungsflussClient, NGINX und Backend-Verbindungsbrempunkt
KonfigurationValidierung der aktiven Server- und Location-Blöcke
Live-DiagnoseLog, Socket, Port- und Dienstkontrolle
Sichere AnwendungTest, kontrollierter Reload und Ergebnisvalidierung
01
Technische Beschreibung

Was bedeutet ein NGINX SSL und Handshake-Fehler?

Bei der HTTPS-Verbindung muss NGINX den korrekten Zertifikatschlüssel und den passenden privaten Schlüssel laden, der Client muss einen vhost auswählen, der für SNI geeignet ist, und sich auf einen gemeinsamen TLS-Protokoll-/Ziffern-Satz einigen.

Für die ssl_certificate sollte ein fullchain-File verwendet werden, das den Serverzertifikat und Intermediate-Zertifikate in der richtigen Reihenfolge enthält.

Wenn der private Schlüssel-Zertifikat nicht übereinstimmt, schlägt die NGINX-Konfigurationsprüfung mit einer ähnlichen Fehlermeldung 'test key values mismatch' fehl. Anstatt auf Dateinamen zu vertrauen, sollten der öffentliche Schlüssel-Fingerprint/Modul verglichen werden.

Die gleiche IP hat mehrere HTTPS-Domains, die durch SNI getrennt sind. Wenn die server_name-Übereinstimmung oder der Standard-SSL-Server falsch ist, kann der Benutzer ein Zertifikat für ein anderes Domän sehen.

Selbst wenn die Certbot-Erneuerung erfolgreich ist, könnte NGINX möglicherweise auf die alte Kopie der Datei schauen oder nicht neu geladen worden sein. Die Seriennummer des Live-Zertifikats sollte mit der auf der Festplatte verglichen werden.

Teilen Sie das Zertifikat und die Schlüssel nicht via E-Mail oder offener Terminalausgabe; vergleichen Sie stattdessen den öffentlichen Fingerabdruck und die Dateirechte.

02
Protokollmeldungen und ihre Bedeutung

SSL, Zertifikatketten und Handshake-Nachrichten

Suchen Sie nach dem Ausdruck, den Sie in der E-Mail, im Browser oder im SSH-Protokoll sehen. Jede Karte enthält eine Bedeutung, eine wahrscheinliche Ursache und eine sichere erste Maßnahme.

8 Registrierung
01kritik

key values mismatch

Bedeutung: Das Zertifikat und der private Schlüssel gehören nicht zum gleichen Schlüsselpaar.

Mögliche Ursache: Falsche Schlüsseldatei oder Pfadverwirrung nach Refresh.

Vergleichen Sie die öffentlichen Schlüssel-Hashwerte.
02kritik

SSL_CTX_use_PrivateKey_file failed

Bedeutung: NGINX konnte den privaten Schlüssel nicht laden.

Mögliche Ursache: Datei nicht gefunden, Berechtigung, Format, verschlüsselter Schlüssel oder Übereinstimmungsfehler.

nginx -t ve dosya izin/format kontrolü yapın.
03kritik

cannot load certificate ... BIO_new_file failed

Bedeutung: Die Zertifikatsdatei kann nicht geöffnet werden.

Mögliche Ursache: Falscher Pfad, gebrochener Symbolischer Link oder Berechtigungen.

Überprüfen Sie die Dateikette mit realpath und namei.
04Warnung

SSL_do_handshake() failed

Bedeutung: Die TLS-Verhandlung wurde nicht abgeschlossen.

Mögliche Ursache: Protokoll/Kennwort-Fehlpassung, Client-Problem oder schlechter Datenverkehr.

Testen Sie mit OpenSSL s_client basierend auf Hostname und TLS-Version.
05Warnung

certificate has expired

Bedeutung: Das bereitgestellte Zertifikat ist abgelaufen.

Mögliche Ursache: Wiederherstellung oder Reload fehlgeschlagen.

Überprüfen Sie das Live-Zertifikatsdatum und den Certbot-Timer/Log.
06Warnung

unable to get local issuer certificate

Bedeutung: Der Client kann die Kette nicht zu einem vertrauenswürdigen Wurzelknoten abschließen.

Mögliche Ursache: Unvollständige oder falsche Zwischenkette.

Bestätigen Sie die Reihenfolge von fullchain im ssl_certificate-Datei.
07Warnung

wrong certificate is served

Bedeutung: Ein anderer vhost-Zertifikat wird für den angeforderten Hostnamen bereitgestellt.

Mögliche Ursache: SNI/server_name/default_server-Fehler.

Verwenden Sie openssl s_client -servername, um den bereitgestellten Subject/SAN-Wert zu überprüfen.
08bilgi

no "ssl_certificate" is defined for the "listen ... ssl" directive

Bedeutung: SSL lauschender Serverblock hat keine Zertifikatsdefinition.

Mögliche Ursache: Fehlende Include oder falsche Serverblockstruktur.

Untersuchen Sie den aktiven SSL-Serverblock mit nginx -T.

Es wurden keine Datensätze gefunden, die diesem Ausdruck entsprechen.

03
Sichere erste Bewertung

SSH-Diagnosebefehle und auf welche Ausgabe ist zu achten?

Befehle sind für den Root-Zugriff vorgesehen. Sammeln Sie zunächst nur den Status und die Protokolle. Ändern Sie die dauerhafte Einstellung nicht, ohne den Grund dafür zu erkennen.

NGINX SSL-Konfig-Test
nginx -t
nginx -T | grep -nE 'listen .*ssl|server_name|ssl_certificate(_key)?'

Zeigt aktive Zertifikatspfade und SSL-Vhosts an.

Live-Zertifikat-Überprüfung
echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -subject -issuer -serial -dates -ext subjectAltName

Zeigt die tatsächlichen Zertifikats- und SAN-Informationen an.

Zertifikat-Schlüssel-Übereinstimmung
openssl x509 -in /etc/letsencrypt/live/example.com/fullchain.pem -pubkey -noout | openssl sha256
openssl pkey -in /etc/letsencrypt/live/example.com/privkey.pem -pubout | openssl sha256

Der öffentliche Schlüssel-Hash-Vergleich wird ohne Anzeigen des privaten Schlüssels überprüft.

Kettenvalidierung.
openssl verify -CAfile /etc/ssl/certs/ca-certificates.crt /etc/letsencrypt/live/example.com/cert.pem
openssl s_client -connect example.com:443 -servername example.com -showcerts </dev/null

Überprüft den Zertifikatschlüssel und die bereitgestellten Zwischenzertifikate.

Certbot yenileme
certbot certificates
systemctl status certbot.timer --no-pager
journalctl -u certbot -n 100 --no-pager

Zeigt die Wiederherstellungsdatum, Timer und Fehlerprotokolle an.

Test und reload
nginx -t && systemctl reload nginx
openssl s_client -connect example.com:443 -servername example.com </dev/null 2>/dev/null | openssl x509 -noout -serial -dates

Bestätigt, dass die neue Zertifizierung live ist.

04
Durch Hosting-Umgebung

Ubuntu/Debian-, AlmaLinux/CloudLinux- und Plesk-Steuerelemente

Obwohl die Grundursache des NGINX-Fehlers dieselbe ist, variieren Paketpfade, Dienstnamen, Sicherheitsebenen und die Verwaltung virtueller Hosts je nach verwendeter Linux-Distribution oder Plesk-Infrastruktur.

Ubuntu / Debian

NGINX SSL und Handshake Fehler für systemd, Paketpfad und journald-Prüfunglen.

  • Zuerst die aktive NGINX-Konfiguration und den Status des Dienstes überprüfen.
  • Vergleichen Sie das Domain-Fehler-Log mit dem systemd-Log im gleichen Zeitraum.
  • Führen Sie vor der Änderung nginx -t und anschließend ein unterbrechungsfreies Neuladen durch.
nginx -t certbot certificates echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -dates -subject

AlmaLinux / CloudLinux

NGINX SSL und Handshake Fehler für SELinux, PHP-FPM-Pool und RHEL-basierte Dienstkontrollen.

  • Überprüfen Sie den aktiven Status von NGINX und den damit verbundenen Backend-Diensten.
  • Überprüfen Sie SELinux-ACV-Einträge und Sicherheitskontexte.
  • Starten Sie den Service nicht ohne die Konfigurationsprüfung durchzuführen.
nginx -t certbot certificates 2>/dev/null echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -dates -subject

Plesk Obsidian

NGINX virtuelle Host-Dateien von Plesk generiert: Überprüfung von nginx-SSL- und Handshake-Fehlern.

  • Überprüfen Sie die zusätzlichen Direktiven im Abschnitt Domains > Apache- und nginx-Einstellungen.
  • Manuell erstellte und von Plesk generierte Dateien voneinander trennen.
  • Wenn nötig, erstellen Sie die Web-Konfiguration für die relevante Domain nur neu.
plesk bin certificate --list -domain example.com nginx -t plesk repair web example.com -n
05
Sichere Lösungsreihenfolge

NGINX SSL und Handshake-Fehler-Lösungsschritte

Schauen Sie sich das live präsentierte Zertifikat an, nicht die Datei auf der Festplatte; überprüfen Sie den Pfad, die Übereinstimmung, die Kette, SNI und die TLS-Schichten in der richtigen Reihenfolge.

1

Lesen Sie das Live-Zertifikat mit dem Hostnamen

Mit SNI verwenden Sie subject, SAN, issuer und Datum.

echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -subject -issuer -dates -serial
2

Aktive NGINX-Zertifikatspfade finden

Bestätigen Sie, welche Zertifikat- und Schlüsseldatei der echte Serverblock verwendet.

nginx -T | grep -nE 'server_name example.com|ssl_certificate(_key)?'
3

Überprüfen Sie die Existenz von Dateien und Berechtigungen

Symlink-Kette, Besitzer- und Schlüsselzugriff müssen sicher sein.

namei -l /etc/letsencrypt/live/example.com/fullchain.pem namei -l /etc/letsencrypt/live/example.com/privkey.pem
4

Überprüfen Sie die Übereinstimmung von Zertifikat und Schlüssel

Die öffentlichen Schlüssel-Hashes müssen identisch sein.

openssl x509 -in CERT -pubkey -noout | openssl sha256 openssl pkey -in KEY -pubout | openssl sha256
5

Überprüfen Sie die Chain- und SNI-Konfiguration

Die Reihenfolge der Fullchain und server_name/default SSL-Vhost müssen korrekt sein.

openssl s_client -connect example.com:443 -servername example.com -showcerts </dev/null
6

Konfigurations-Test, Neuladen und erneute Überprüfung

Der neue serielle/Datums-Live-Endpunkt sollte sichtbar sein.

nginx -t && systemctl reload nginx
06
Unterscheidung nach Symptom

Spezielle Szenarien und Entscheidungsbäume

Key values mismatch

Falsche private Schlüsseldatei ausgewählt; Hash-Abgleich wird durchgeführt.

openssl x509 -in CERT -pubkey -noout | openssl sha256; openssl pkey -in KEY -pubout | openssl sha256
Das Zertifikat ist abgelaufen

Certbot-Timer, Challenge- und Reload-Schritte werden überprüft.

certbot certificates; systemctl list-timers | grep certbot
Eksik intermediate chain

cert.pem sollte durch die fullchain-Datei ersetzt werden.

openssl s_client -connect example.com:443 -servername example.com -showcerts </dev/null
Falsche Domänenzertifikat.

SNI, server_name und default_server werden untersucht.

nginx -T | grep -nE 'listen .*443|server_name|ssl_certificate'
Cloudflare Origin Certificate

Das Origin-Zertifikat dient der Cloudflare-Origin-Verbindung und nicht der Browser-Vertrauenswürdigkeit.

Lesen Sie die Origin- und proxied-Hostname-Zertifikate getrennt mit der openssl-Kommandozeile.
Das Zertifikat ist in Plesk ausgewählt, aber es sieht alt aus.

Hosting-Einstellungen und Mail/Panel-Zertifikatszuweisungen werden getrennt überprüft.

plesk bin certificate --list -domain example.com

Auf keinen Fall

  • Teilen Sie die Inhalte der privaten Schlüsseldatei nicht in der Terminalausgabe oder in Unterstützungsmitteilungen.
  • Kombinieren Sie Zertifikats- und Chain-Dateien nicht willkürlich.
  • Schließen Sie die sicheren Protokolle nicht unnötig, um das TLS-Problem zu lösen.
  • Nehmen Sie nicht an, dass NGINX nach der Certbot-Erneuerung automatisch die neue Datei bereitstellt.
  • Geben Sie 644/777 breiten Berechtigungen nicht der privaten Schlüsseldatei.

Überprüfung nach der Lösung

  • nginx -t başarılıdır.
  • Das Live-Zertifikat enthält die korrekte Hostname-SAN.
  • Zertifikat- und privater Schlüssel-Hashwerte stimmen überein.
  • Chain wird vom Client zum vertrauenswürdigen Root abgeschlossen.
  • Live-Serien- und Gültigkeitsdaten gehören zum erwarteten erneuerten Zertifikat.
07
Offizielle technische Ressourcen

Offizielle Dokumentation von NGINX und zugehörigen Komponenten

08
Interner SEO-Inhaltssatz

Verwandte NGINX-Fehlerlösungen

09
Häufig gestellte Fragen

NGINX SSL und Handshake Fehler Kuriositäten über

Was bedeutet NGINX Schlüsselwerte-Mismatch?

Dies zeigt an, dass das Zertifikat und die ssl_certificate_key-Datei nicht zum gleichen Schlüsselpaar gehören.

Warum sollte fullchain.pem verwendet werden?

Server stellt erforderliche Intermediate-Zertifikate zusammen mit seinem Zertifikat bereit; unterstützt den Client bei der Abschluss seiner Vertrauenskette.

Warum zeigt NGINX einen falschen Zertifikat?

SNI-Server-Name-Ubereinstimmung, Default-SSL-Vhost oder Listen-Reihenfolge ist falsch, kann ein anderer Vhost-Zertifikat bereitgestellt werden.

Certbot wurde erneuert, aber das alte Zertifikat ist sichtbar, warum?

NGINX könnte ein anderes Dateisystem verwenden, nicht neu geladen werden oder ein CDN könnte ein altes Zertifikat bereitstellen.

Bezeichnet SSL_do_handshake failed immer einen Serverfehler?

Nein. Bots, alte Clients und inkompatible TLS-Angebote können auch diesen Log erzeugen; Häufigkeit und Client-Informationen sollten untersucht werden.

Wie sichert man die Zertifikat-Schlüssel-Übereinstimmung?

Sie können die SHA-256-Hashwerte der beiden Dateien ohne das Anzeigen des privaten Schlüssels vergleichen.

Wo in Plesk wird SSL separat zugewiesen?

Domain-Hosting, Panel-Hostname und Mail-Service-Zertifikate können separat zugewiesen werden; jeder Endpunkt muss live validiert werden.

EKA SOFTWARE- UND INFORMATIONSSYSTEME

Lassen Sie uns den Fehler auf Ihrem Server dauerhaft beheben

Durch die gemeinsame Analyse von cPanel, WHM, CloudLinux, LiteSpeed, MariaDB, Exim und Sicherheitsebenen beheben wir die Grundursache des Fehlers, anstatt nur den Dienst zu entfernen.

Holen Sie sich Server-Support WhatsApp
Top