NodeJS https服务器使用快速

时间:2017-01-27 11:08:13

标签: javascript node.js ssl https

我尝试在我的nodejs服务器上运行SSL https,但浏览器返回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);

1 个答案:

答案 0 :(得分:3)

如果您的密钥生成不正确,就会发生这种情况。

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

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