node 创建本地 https 服务

node 创建本地 https 服务

node自带了https模块,跟http模块的使用类似,不过在创建服务时使用CA证书。

mkcert

mkcert 是一个简单的工具,用于制作本地信任的开发证书。它不需要配置。在项目中安装后就可以直接使用。

npm i mkcert -D

这个库非常简单,只有两个指令

  • create-ca: 创建证书颁发机构
  • create-cert: 创建证书(需要先根据 create-ca 命令创建的文件才能创建)

上面两个指令都设置有默认的配置,可以直接运行生成证书。

npx mkcert create-ca
npx mkcert create-cert

此时根目录下会生成 4 个文件
-ca.crt
-ca.key
-cert.crt
-cert.key

此时密钥是cert.key文件,证书是cert.crt文件。

此时便可以根据生成的文件来启动https

使用 https 模块

const https = require("https");
const fs = require("fs");
const options = {
  // 私钥
  key: fs.readFileSync(__dirname + "/cert.key"),
  // 由私钥生成的证书
  cert: fs.readFileSync(__dirname + "/cert.crt"),
};

const app = https.createServer(options, (req, res) => {
  res.end("https server");
});
app.listen(8080);

使用 express 创建服务

const https = require("https");
const express = require("express");
const fs = require("fs");
const options = {
  // 私钥
  key: fs.readFileSync(__dirname + "/ca/cert.key"),
  // 由私钥生成的证书
  cert: fs.readFileSync(__dirname + "/ca/cert.crt"),
};

const app = express();
app.get("*", (req, res) => {
  res.send("https server");
});
// ...
https.createServer(options, app).listen(8080);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值