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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/86182.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/86182.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/86182.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

AI賦能的瀏覽器自動化:Playwright MCP安裝配置與實操案例

以下是對Playwright MCP的簡單介紹: Playwright MCP 是一個基于 Playwright 的 MCP 工具,提供瀏覽器自動化功能不要求視覺模型支持,普通的文本大語言模型就可以通過結構化數據與網頁交互支持多種瀏覽器操作,包括截圖、點擊、拖動…

【Matlab】連接SQL Server 全過程

文章目錄 一、下載與安裝1.1 SQL Server1.2 SSMS1.3 OLE DB 驅動程序 二、數據庫配置2.1 SSMS2.2 SQL Server里面設置2.3 設置防火墻2.4 設置ODBC數據源 三、matlab 鏈接測試 一、下載與安裝 微軟的,所以直接去微軟官方下載即可。 1.1 SQL Server 下載最免費的Ex…

Java編程中常見的條件鏈與繼承陷阱

格式錯誤的if-else條件鏈 典型結構與常見錯誤模式 在Java編程中,if-else條件鏈是一種常見的多條件處理模式,其標準結構如下: if (condition1) {// 處理邏輯1 } else if (condition2) {// 處理邏輯2 } else

scss(sass)中 的使用說明

在 SCSS(Sass)中,& 符號是一個父選擇器引用,它代表當前嵌套規則的外層選擇器。主要用途如下: 1. 連接偽類/偽元素 scss 復制 下載 .button {background: blue;&:hover { // 相當于 .button:hoverbackgrou…

C++ 信息學奧賽總復習題答案解析

第一章 答案解析 填空題 .cpp 知識點:C 源文件的命名規范 main () 知識點:C 程序的入口函數 // ,/* */ 知識點:C 注釋的兩種形式 int a; 知識點:變量聲明的語法 cout 知識點:輸出語句的關鍵字 判斷題…

Jenkins持續集成CI,持續部署CD,Allure報告集成以及發送電子 郵件

文章目錄 一、Jenkins 的簡介二、Jenkins的安裝三、Jenkins 文件夾的作用四、Jenkins 的應用新建 job配置 jobjenkins 集成 Allure 報告。jenkins 集成 HTML 的報告 五、Jenkins 發送電子郵件1)安裝插件:Email Extension2)開啟 POP3/SMTP 服務…

算術圖片驗證碼(四則運算)+selenium

一、表達式解析 這里假設已經識別出來表達式,如何識別驗證碼圖片里的表達式,放在下面講。涉及到的正則表達式的解析放在本篇文章最后面。 import re # 表達式解析(支持小數的 -*/ 和中文運算符) def parse_math_expression(text)…

使用 Laravel 中的自定義存根簡化工作

在開發與外部服務、API 或復雜功能交互的應用程序時,測試幾乎總是很困難。簡化測試的一種方法是使用存根類。以下是我通常使用它們的方法。 福利簡介 存根是接口或類的偽實現,用于模擬真實服務的行為。它們允許您: 無需調用外部服務即可測試…

將 tensorflow keras 訓練數據集轉換為 Yolo 訓練數據集

以 https://www.kaggle.com/datasets/vipoooool/new-plant-diseases-dataset 為例 1. 圖像分類數據集文件結構 (例如用于 yolov11n-cls.pt 訓練) import os import csv import random from PIL import Image from sklearn.model_selection import train_test_split import s…

排序算法-歸并排序與快速排序

歸并排序與快速排序 快速排序是利用的遞歸思想:選取一個基準數,把小于基準數的放左邊 大于的放右邊直到整個序列有序 。快排分割函數 O(lognn), 空間 :沒有額外開辟新的數組但是遞歸樹調用函數會占用棧內存 O(logn) 。 歸并排序:在遞歸返回的…

北大開源音頻編輯模型PlayDiffusion,可實現音頻局部編輯,比傳統 AR 模型的效率高出 50 倍!

北大開源了一個音頻編輯模型PlayDiffusion,可以實現類似圖片修復(inpaint)的局部編輯功能 - 只需修改音頻中的特定片段,而無需重新生成整段音頻。此外,它還是一個高性能的 TTS 系統,比傳統 AR 模型的效率高出 50 倍。 自回歸 Tra…

MyBatis————入門

1,配置相關 我們上一期詳細講了一下使用注解來實現操作數據庫的方式,我們今天使用xml來實現,有同學可能有疑問,使用注解挺方便呀,為啥還要注解呀,先來說一下注解我感覺挺麻煩的,但是我們后面要…

【推薦算法】推薦算法演進史:從協同過濾到深度強化學習

推薦算法演進史:從協同過濾到深度強化學習 一、傳統推薦時代:協同過濾的奠基(1990s-2006)1.1 算法背景:信息爆炸的挑戰1.2 核心算法:協同過濾1.3 局限性 二、深度學習黎明:神經網絡初探&#xf…

Java基于SpringBoot的校園閑置物品交易系統,附源碼+文檔說明

博主介紹:?Java老徐、7年大廠程序員經歷。全網粉絲12w、csdn博客專家、掘金/華為云/阿里云/InfoQ等平臺優質作者、專注于Java技術領域和畢業項目實戰? 🍅文末獲取源碼聯系🍅 👇🏻 精彩專欄推薦訂閱👇&…

Ajax Systems公司的核心產品有哪些?

Ajax Systems 是一家專注于家庭安全和智能系統的公司,其核心產品如下3: 入侵保護設備:如 MotionCam Outdoor 無線室外運動探測器,配備內置攝像頭和兩個紅外傳感器,可通過預裝電池運行長達三年,能在 15 米距…

64、js 中require和import有何區別?

在 JavaScript 中,require 和 import 都是用于模塊導入的語法,但它們屬于不同的模塊系統,具有顯著的區別: 1. 模塊系統不同 require 屬于 CommonJS 模塊系統(Node.js 默認使用)。 語法:const…

Java+Access綜合測評系統源碼分享:含論文、開題報告、任務書全套資料

JAVAaccess綜合測評系統畢業設計 一、系統概述 本系統采用Java Swing開發前端界面,結合Access數據庫實現數據存儲,專為教育機構打造的綜合測評解決方案。系統包含學生管理、題庫管理、在線測評、成績分析四大核心模塊,實現了測評流程的全自…

【python】RGB to YUV and YUV to RGB

文章目錄 1、YUV2、YUV vs RGB3、RGB to YUV4、YUV to RGB附錄——YUV NV12 vs YUV NV21參考1、YUV YUV 顏色空間,又常被稱作 YCbCr 顏色空間,是用于數字電視的顏色空間,在 ITU-R BT.601、BT.709、BT.2020 標準中被明確定義,這三種標準分別針對標清、高清、超高清數字電視…

運行示例程序和一些基本操作

歡迎 ----> 示例 --> 選擇sample CTRL B 編譯代碼 CTRL R 運行exe 項目 中 Shadow build 表示是否 編譯生成文件和 源碼是否放一塊 勾上不在同一個地方 已有項目情況下怎么打開項目 方法一: 左鍵雙擊 xxx.pro 方法二: 文件菜單里面 選擇打開項目

計算機網絡第2章(下):物理層傳輸介質與核心設備全面解析

目錄 一、傳輸介質1.1 傳輸介質的分類1.2 導向型傳輸介質1.2.1 雙絞線(Twisted Pair)1.2.2 同軸電纜(Coaxial Cable)1.2.3 光纖(Optical Fiber)1.2.4 以太網對有線傳輸介質的命名規則 1.3 非導向型傳輸介質…