2016-06-22 7 views
0

Ich habe einen API-Server, der bereits ein SSL-Zertifikat von COMODO hat.Wie Nodejs https-Server wie ein Browser anfordern?

Alles funktioniert, wenn ich über jQuery im Browser anfordern.

jedoch die HTTPS-Anfrage in NodeJS berichtet immer {[Fehler: Zertifikat nicht vertrauenswürdig] Code: 'CERT_UNTRUSTED'}

Ich mag nicht selbst signiertes Zertifikat erstellen.

Wie behebe ich es?

+0

Könnten Sie ein Beispiel Anfrage veröffentlichen, so können wir ein Gefühl davon, wie genau Sie die Anfrage machen. –

+0

Ich habe gerade die dumme Frage gelöst, indem ich meinen Knoten js auf Mac neu installiere. Was für eine Zeitverschwendung! Ein https-Server mit COMODO-Zertifikat benötigt keine benutzerdefinierten Zertifizierungsstellen. :( – Slavik

Antwort

0

Wenn Sie die Anfrage mit dem https Modul machen, müssen Sie die Option rejectUnauthorized in der Anfrage aktivieren. Gemäß der offiziellen Dokumentation: https://nodejs.org/api/https.html#https_https_request_options_callback

const https = require('https'); 

var options = { 
    hostname: 'your-hostname', 
    port: 443, 
    path: '/the-path-to-access', 
    method: 'GET', 
    rejectUnauthorized: false // this is the line you need to add! 
}; 

var req = https.request(options, (res) => { 
    console.log('statusCode: ', res.statusCode); 
    console.log('headers: ', res.headers); 

    res.on('data', (d) => { 
    process.stdout.write(d); 
    }); 
}); 
req.end(); 

req.on('error', (e) => { 
    console.error(e); 
});