如何在Node.js中使用HTTPS
我对HTTPS、SSL等几乎没有经验 我想知道如何在HTTPS中使用Node.js。我知道如何使用node.js,但使用HTTPS时会出现错误 我想我需要安装一些东西(openSSL?)。为了使用node.js HTTPS服务器,我想知道我必须在windows 8.1计算机上安装的所有东西(不,我不想安装任何形式的linux。也不想安装cygwin)如何在Node.js中使用HTTPS,node.js,http,ssl,https,openssl,Node.js,Http,Ssl,Https,Openssl,我对HTTPS、SSL等几乎没有经验 我想知道如何在HTTPS中使用Node.js。我知道如何使用node.js,但使用HTTPS时会出现错误 我想我需要安装一些东西(openSSL?)。为了使用node.js HTTPS服务器,我想知道我必须在windows 8.1计算机上安装的所有东西(不,我不想安装任何形式的linux。也不想安装cygwin) 我不需要有一个付费证书,我只需要有它的工作。它不接收来自浏览器的请求,因此我不关心付费证书。一旦在系统上安装了node.js,只需按照以下过程运行
我不需要有一个付费证书,我只需要有它的工作。它不接收来自浏览器的请求,因此我不关心付费证书。一旦在系统上安装了node.js,只需按照以下过程运行一个支持HTTP和HTTPS的基本web服务器 步骤1:构建证书颁发机构
mkdir conf
cd-conf
ca.cnf
文件用作配置快捷方式:
wgethttps://raw.githubusercontent.com/anders94/https-authorized-clients/master/keys/ca.cnf
openssl-req-new-x509-days 9999-config ca.cnf-keyout ca-key.pem-out ca-cert.pem
ca-key.pem
和ca-cert.pem
中拥有了证书颁发机构,让我们为服务器生成一个私钥:
openssl genrsa-out key.pem 4096
server.cnf
文件用作配置快捷方式:
wgethttps://raw.githubusercontent.com/anders94/https-authorized-clients/master/keys/server.cnf
openssl-req-new-config server.cnf-key-key.pem-out csr.pem
openssl x509-req-extfile server.cnf-999天-passin“pass:password”-在csr.pem-CA-cert.pem-CAkey CA-key.pem-CAcreateserial-out cert.pem中
步骤2:将证书安装为根证书
sudo cp ca-crt.pem/usr/local/share/ca certificates/ca-crt.pem
sudo更新ca证书
步骤3:启动节点服务器 首先,确保
server.js
的代码如下所示:
var http = require('http');
var https = require('https');
var fs = require('fs');
var httpsOptions = {
key: fs.readFileSync('/path/to/HTTPS/server-key.pem'),
cert: fs.readFileSync('/path/to/HTTPS/server-crt.pem')
};
var app = function (req, res) {
res.writeHead(200);
res.end("hello world\n");
}
http.createServer(app).listen(8888);
https.createServer(httpsOptions, app).listen(4433);
server.js
所在的目录:
cd/path/to
server.js
:
node server.js