2017-01-27 23 views
0

我试图让SSL的https我的服务器的NodeJS上工作,但浏览器返回一个ERR_SSL_PROTOCOL_ERRORHTTPS的NodeJS服务器使用返回ERR_SSL_PROTOCOL_ERROR快递

代码:

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

这应该工作'https.createServer(sslOptions,APP)',验证你正确获取证书。阅读文件时,您可能需要添加** __ dirname +'key.pem'** – Hosar

回答

2

这会发生,如果你的关键ISN” t正确生成。

很多地方会告诉你这样做:

openssl genrsa -out key.pem 

如果你是一个Mac上是行不通的,而是你需要这样做,使密钥长度2048:

openssl genrsa -out key.pem 2048 

总之,做这些步骤,以使在Mac上正确的钥匙:

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 
相关问题