使用节点js创建HTTPS服务器

时间:2013-05-17 13:43:26

标签: node.js https

我想为我的localhost创建一个https服务器 Node JS文档提供了现成的解决方案,但我对它有些困惑。 示例

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

var options = {
  key: fs.readFileSync('test/fixtures/keys/agent2-key.pem'),
  cert: fs.readFileSync('test/fixtures/keys/agent2-cert.pem')
};

https.createServer(options, function (req, res) {
  res.writeHead(200);
  res.end("hello world\n");
}).listen(8000);

var options = {
  pfx: fs.readFileSync('server.pfx')
};

这里我如何获得我的localhost的密钥,证书或pfx?

3 个答案:

答案 0 :(得分:39)

出于开发目的,您可以创建自我认证的证书。 以下是如何在基于Linux的系统上执行此操作:

首先,生成一个私钥

openssl genrsa 1024 > key.pem

这将在文件key.pem

中存储1024位RSA密钥

然后,使用该密钥生成SSL证书:

openssl req -x509 -new -key key.pem > key-cert.pem

现在,您可以在传递给createServer的选项中使用key.pem和key-cert.pem。

答案 1 :(得分:2)

.pfx文件是由key.pemcert.pem和有时(CA file)文件组成的“捆绑”。

您应该获得(支付)/ make(测试等)https证书。

答案 2 :(得分:0)

这称为自签名证书,您可以通过openssl用一个命令生成它。只需输入:

openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem

在终端中。