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 文件进行配置。

javascript 复制代码
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 ,会出现下面的页面,点击前往进入。

相关推荐
万亿少女的梦16819 小时前
基于微信小程序、Express与MongoDB的校园失物招领系统设计
mongodb·微信小程序·node.js·express·系统设计
米码收割机4 天前
SA508-3钢回火焊道焊接温度场数值模拟(模拟图+论文)
spring boot·express·宠物
Pu_Nine_95 天前
Vue3+TS+Express 转 Nuxt4 全栈开发笔记(Drizzle ORM + MySQL)
前端·vue·express·nuxt.js·全栈框架
张人玉9 天前
基于 Vue 3 + ECharts + Express + SQLite 构—— LDA 模型的新闻舆论主题识别与情感分析系统
vue.js·echarts·express
张人玉11 天前
基于 Vue 3 + ECharts + Express + SQLite 的可视化大屏与业务管理系统——YOLOv8 高精度车辆行人检测与计数系统
数据库·vue.js·yolo·sqlite·echarts·express
张人玉12 天前
基于 Vue 3 + ECharts + Express + SQLite 构建的鞋类零售数据分析与毛利预测平台——基于深度学习的鞋类销售数据分析系统
vue.js·sqlite·echarts·express
张人玉16 天前
基于 Vue 3 + ECharts + Express + SQLite 的世界数据可视化大屏系统——世界态势数据可视化大屏
vue.js·echarts·express
张人玉17 天前
基于 Vue3 + ECharts + Express + SQLite 的智慧交通数据可视化系统——郑州交通数据可视化大屏
sqlite·echarts·express
张人玉20 天前
基于 Vue2 + ECharts + Express + SQLite 的南阳市专题数据可视化系统
sqlite·echarts·express
2301_7681034923 天前
HarmonyOS宠物邻里实战第16篇:寄养申请状态机、记录时间线与回归测试
mongodb·集成测试·express·harmonyos·状态机