????????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 ,會出現下面的頁面,點擊前往進入。