Ich arbeite an einer kleinen App, die sich bei meinem lokalen WLAN-Router (Linksys) anmeldet, aber ich habe ein Problem mit dem selbstsignierten SSL-Zertifikat des Routers.
Ich lief wget 192.168.1.1 und bekam:
ERROR: cannot verify 192.168.1.1's certificate, issued by `/C=US/ST=California/L=Irvine/O=Cisco-Linksys, LLC/OU=Division/CN=Linksys/[email protected]':
Self-signed certificate encountered.
ERROR: certificate common name `Linksys' doesn't match requested host name `192.168.1.1'.
To connect to 192.168.1.1 insecurely, use `--no-check-certificate'.
Im Knoten wird folgender Fehler abgefangen:
{ [Error: socket hang up] code: 'ECONNRESET' }
Mein aktueller Beispielcode lautet:
var req = https.request({
host: '192.168.1.1',
port: 443,
path: '/',
method: 'GET'
}, function(res){
var body = [];
res.on('data', function(data){
body.push(data);
});
res.on('end', function(){
console.log( body.join('') );
});
});
req.end();
req.on('error', function(err){
console.log(err);
});
Wie kann ich node.js dazu bringen, das Äquivalent von "--no-check-certificate" auszuführen?
node.js
https
ssl-certificate
Geuis
quelle
quelle
Versuchen Sie, in Ihre Anforderungsoptionen Folgendes aufzunehmen:
quelle
rejectUnauthorized
Option und sonst nichtsrejectUnauthorized
war gut genug alles andere ootb. Verwendung innerhalb der vs Code-Erweiterung. Besser noch PEM-Konfiguration zulassen, das mache ich als nächstes ...Glauben Sie nicht all denen, die versuchen, Sie in die Irre zu führen.
Fügen Sie in Ihrer Anfrage einfach Folgendes hinzu:
Wenn Sie nicht autorisierte Zertifikate aktivieren, sind Sie überhaupt nicht geschützt (MITM ausgesetzt, weil die Identität nicht überprüft wurde), und das Arbeiten ohne SSL ist kein großer Unterschied. Die Lösung besteht darin, das erwartete CA-Zertifikat anzugeben, wie im nächsten Snippet gezeigt. Stellen Sie sicher, dass der allgemeine Name des Zertifikats mit der Adresse identisch ist, die Sie in der Anforderung angerufen haben (wie im Host angegeben):
Was Sie dann bekommen, ist:
Bitte lesen Sie diesen Artikel (Offenlegung: Blog-Beitrag des Autors dieser Antwort) hier, um zu verstehen:
quelle
Fügen Sie die folgende Umgebungsvariable hinzu:
zB mit
export
:(Mit großem Dank an Juanra)
quelle
webdriver-manager update
Hinzufügen zu @Armand Antwort:
Wenn Sie unter Windows verwenden:
Danke an: @ weagle08
quelle
Sie können auch eine Anforderungsinstanz mit Standardoptionen erstellen:
quelle
Für meteorJS können Sie mit npmRequestOptions festlegen.
quelle
Oder Sie können versuchen, die lokale Namensauflösung (
hosts
Datei im Verzeichnis deretc
meisten Betriebssysteme, Details unterscheiden sich) wie folgt hinzuzufügen :und als nächstes
wird funktionieren.
quelle
rejectUnauthorized: false