
Ich habe vor Kurzem ein selbst signiertes SSL-Zertifikat auf einem unserer Nginx-Webserver installiert. Wenn ich versuche, eine Datei mit wget abzurufen, --no-check-certificate
erhalte ich die folgenden Fehler. Sie können die Site mit einem Browser erreichen, der Browser erkennt, dass sie selbst signiert ist, und das Zertifikat zeigt alle korrekten Informationen an. Basierend auf der Meldung scheint es, dass ich einen Weg finden sollte, dem Zertifikat lokal zu vertrauen, aber macht das nicht den Zweck von --no-check-certificate zunichte?
$ wget https://www.example.com/index.html --no-check-certificate
--2015-02-20 14:13:58-- https://www.example.com/index.html
Resolving example.com... 192.0.2.1
Connecting to example.com|192.0.2.1|:443... connected.
WARNING: cannot verify example.com’s certificate, issued by “/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Domain Validation Secure Server CA”:
Unable to locally verify the issuer’s authority.
WARNING: no certificate subject alternative name matches
requested host name “example.com”.
HTTP request sent, awaiting response... Read error (Connection reset by peer) in headers.
Retrying.
Ich bin für alle Ideen sehr dankbar.
Antwort1
Mit Blick auf diewgetFehlerausgabe und Befehlszeile, das Problem liegt hier nicht bei der clientseitigen Zertifikatsüberprüfung. Es scheint, dass der Server die Verbindung ablehnt. Dies kann daran liegen,wgetEin erforderliches Client-Zertifikat wird dem Server nicht vorgelegt (überprüfen Sie, ob Ihr anderer Browser darüber verfügt), dieser bestimmte Benutzeragent wird abgelehnt usw.
Ich würde lieber das Serverprotokoll überprüfen.
Antwort2
Sie können versuchen, einige Debuggingfunktionen hinzuzufügen: -S und -d für Server- und Client-Header.
tcpdump ist besser und liefert die ganze Geschichte, aber die nächstbeste Lösung sind die Header ohne vollständige Paketnutzlast.