Request: Führen Sie einen HTTPS-Aufruf vom Anforderungsmodul aus

Erstellt am 8. Jan. 2017  ·  12Kommentare  ·  Quelle: request/request

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

stale

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:

{  
   url: "https://...",
   method: "POST",
   headers: {
        "Content-Type": "application/json"},
   strictSSL: false
}

Alle 12 Kommentare

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});

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen