Node.js: express 使用 Open SSL
OpenSSL是一个开源的核心加密工具包,提供行业标准的加密,证书管理和安全通信功能。包含完整的 SSL/TLS 协议实现,被广泛应用于构建互联网安全基础设施。
在 express 中使用 openssl 通常是为了实现 HTTPS 通信,通过 SSL/TLS 加密来保护数据传输。可以用 openssl 命令行工具来生成一个证书,仅用于开发环境。
一,下载 Open SSL
从Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions下载自己需要的安装包。
安装好后将bin目录添加到环境变量中。
之后用 openssl -v 命令检查有没有安装成功。
openssl -v
二,快速生成自签名证书和私钥
先创建一个express项目,进入项目的根目录,运行命令。
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes
项目的根目录会生成两个文件。
然后进入 app.js 文件进行配置。
const express = require('express');
const app = express();const cors = require('cors');
app.use(cors());// 配置ssl
const https = require('https');
const fs = require('fs');const options = {key: fs.readFileSync('./key.pem'),cert: fs.readFileSync('./cert.pem'),
};app.use(express.json());
app.use(express.urlencoded({ extended: false }));const router = express.Router();router.get('/', (req, res) => {res.send({data: null,status: 0,message: 'Hello World!',});
});app.use(router);https.createServer(options, app).listen(3007, () => {console.log("Server running at https://127.0.0.1:3007");
});
配置完成后运行,打开浏览器输入网址 https://127.0.0.1:3007 ,会出现下面的页面,点击前往进入。