NodeJs

Nodejs配置Https服务

前言 

HTTPS(全称:HyperText Transfer Protocol over Secure Socket Layer),其实 HTTPS 并不是一个新鲜协议,Google 很早就开始启用了,初衷是为了保证数据安全。 近两年,Google、Baidu、Facebook 等这样的互联网巨头,不谋而合地开始大力推行 HTTPS, 国内外的大型互联网公司很多也都已经启用了全站 HTTPS,这也是未来互联网发展的趋势。因此想必在不久的将来,全网 HTTPS 势在必行。 那么Nodejs中如果配置Https服务呢?

下面用阿里云举例子

第一步:准备好服务器,域名
第二步:购买SSL证书
  • 打开阿里云后台,找到域名页面,然后看到域名最后操作栏,如下页面:
  • 2.点击SSL证书,看到如下页面:
  • 按照说明配置了www之后,然后点击确定按钮,就可以了!
第三步:查看证书控制台
  • 这里可以不用等是否已签发,先去配置好端口再说,到时候这里签发了,直接就可以用了。
第四步:配置端口
  • 打开安全组配置
  • 打开页面后,操作栏中如下图所示:
  • 点击配置规则,配置如下端口:
第五步:证书申请通过后下载证书
  •  有小伙伴说没有nodejs的证书版本?没关系,我们直接下载第一个Nginx版本的即可,下载后里面有两个文件,一个key文件,一个pem文件!pem和key 这两种格式 分别存储的是证书base64加密和私钥base64加密还有格式分割符,也就是说pem存的是证书,key 存的是私钥。
  • 下载了文件,将文件放在自己Node项目中的某个文件夹中,这里我放在根目录下的https文件下。
第六步:Node代码部分
let express = require("express");
let http = require("http");
let https = require("https");
let fs = require("fs");
// Configuare https
const httpsOption = {
    key : fs.readFileSync("./https/xxxxxxxxxxxx.key"),
    cert: fs.readFileSync("./https/xxxxxxxxxxxx.pem")
}
// Create service
let app = express();
http.createServer(app).listen(80);
https.createServer(httpsOption, app).listen(443);
第七步:运行项目
  • 效果如下所示,在这里,就很完美的配置好了Https服务: