Ich versuche, einen https
-Anruf mit dem Modul request
zu tätigen. Unten sind die aktuellen Optionen aufgeführt
und ich habe pfx
Datei und password
.
strictSSL: false,
rejectUnauthorized: false,
agent: false
Kann mir jemand helfen, was alles auf wahr gesetzt werden muss und ob ich cert
Dateien exportieren muss.
Wenn möglich, teilen Sie dafür bitte den Befehl openssl
mit.
Ich habe versucht, cert
zu exportieren und habe strictSSL and rejectUnauthorized true
erstellt, aber am Ende wird ein Fehler wie angezeigt
message: 'Error: unable to verify the first certificate'
Knotenversion ist 6.9.2
Hast du es per Einstellung versucht
process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = '0'
@rpgeeganage Dies ist kein bevorzugter Weg.
Vollständiger Fehlerstapel
{ Error: unable to verify the first certificate
at Error (native)
at TLSSocket.<anonymous> (_tls_wrap.js:1085:38)
at emitNone (events.js:86:13)
at TLSSocket.emit (events.js:185:7)
at TLSSocket._finishInit (_tls_wrap.js:603:8)
at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:433:38) code: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE' } 'error'
Ich bin auch auf dieses Problem gestoßen. Hast du einen Workaround gefunden @tomalex0 ?
Gibt es hierzu Neuigkeiten?
Ich bin auch auf dieses Problem gestoßen.
Um das Problem zu umgehen, deaktivieren Sie die Anforderung, dass SSL-Zertifikate gültig sein müssen, und umgehen Sie sie vollständig. Fügen Sie "strictSSL: false" als solches hinzu:
{
url: "https://...",
method: "POST",
headers: {
"Content-Type": "application/json"},
strictSSL: false
}
Mein Server befindet sich in einem privaten Netzwerk (kein Internetzugang) und sollte dort funktionieren, und ich habe das Zertifikat signiert und vertraue ihm mit einer eigenen CA ... Ich erhalte den Fehler UNABLE_TO_VERIFY_LEAF_SIGNATURE
, selbst wenn ich die Datei ca.pem hinzufüge zu options.agentOptions.ca. Was soll ich tun, um diesen Fehler offensichtlich zu beheben, ohne die Option strictSSL oder andere unsichere Optionen zu deaktivieren?
In meinem Fall funktioniert ein SSL-Zertifikat, das ich mit LetsEncrypt generiert habe, gut mit der Knoten-https-Bibliothek oder mit der Anforderungsbibliothek. Die Verwendung desselben Zertifikats von Port 443 (das von den Golang-Komponenten meines Systems und in Chrome einwandfrei funktioniert) würgt jedoch die https-Bibliothek von Node und die Anforderungsbibliothek vollständig, beide mit demselben Fehler. Ich versuche immer noch zu verstehen, was hier schief läuft, aber zumindest in diesem Fall scheinen diese Root-CA-Hacks nicht zu funktionieren.
Dieses Problem wurde automatisch als veraltet markiert, da es in letzter Zeit keine Aktivität gab. Es wird geschlossen, wenn keine weiteren Aktivitäten stattfinden. Vielen Dank für Ihre Beiträge.
niemand, der ihm so nah folgt und so tut, als würde es nie passieren?
Meine URL funktioniert mit allen Browsern, aber nicht mit "request.js".
Ich bekam denselben Fehler. Behoben durch Markieren von strictSSL als falsch, der folgende Code hat bei mir funktioniert.
var client = new RestClient({
Verbindung: {
pfx: fs.readFileSync(certFile),
Passphrase: certPassword,
strictSSL: falsch,
AblehnenUnautorisiert: falsch,
Agent: falsch
}
});
Ich verwende die Node-Rest-Client-Architektur für meine API.
Ich hoffe, dies könnte jemandem helfen, der nach einer ähnlichen Lösung sucht
Versuche dies:
var request = require("request").defaults({rejectUnauthorized:false});
Hilfreichster Kommentar
Um das Problem zu umgehen, deaktivieren Sie die Anforderung, dass SSL-Zertifikate gültig sein müssen, und umgehen Sie sie vollständig. Fügen Sie "strictSSL: false" als solches hinzu: