2017-01-27 2 views
0

Ich versuche, SSL https Arbeit an meinem NodeJS Server, aber der Browser gibt eine ERR_SSL_PROTOCOL_ERRORNodeJS https-Server zurückkehr ERR_SSL_PROTOCOL_ERROR mit Express

Code zu erhalten:

var express = require('express'); 
var https = require('https'); 
var http = require('http'); 
var fs = require('fs'); 

var options = { 
    key: fs.readFileSync('key.pem'), 
    cert: fs.readFileSync('cert.pem') 
} 

http.createServer(app).listen(80); 
https.createServer(options, app).listen(443); 
+0

, die funktionieren sollte 'https.createServer (SSLOptions, app)', überprüfen Sie Erhalte die Zertifikate korrekt. Beim Lesen der Dateien müssen Sie möglicherweise ** __ Verzeichnisname + 'key.pem' hinzufügen ** – Hosar

Antwort

2

Dies wird geschehen, wenn Ihr Schlüssel isn‘ t richtig generiert.

Viele Orte, die Sie dies tun wird sagen:

openssl genrsa -out key.pem 

Das wird nicht funktionieren, wenn Sie einen Mac verwenden, und stattdessen müssen Sie dies tun, um die Schlüssellänge 2048 machen:

openssl genrsa -out key.pem 2048 

Zusammengefasst tun vor, um einen richtigen Schlüssel auf dem Mac zu machen:

openssl genrsa -out key.pem 2048 
openssl req -new -key key.pem -out client.csr 
openssl x509 -req -in client.csr -signkey key.pem -out cert.pem