【服務器】Nodejs在局域網配置https訪問

【服務器】Node.js在局域網配置https訪問

零、需求:

作一個局域網WebRTC視頻聊天系統,須要用到HTTPS。所以,配置Node.js使其支持HTTPS訪問。html

1、解決

在線生成和證書
訪問:https://csr.chinassl.net/generator-csr.html
填寫好以後點生成便可,咱們能夠下載到兩個文件。
這裏個人域名是192.168.110.10,獲得192.168.110.10_csr.txt192.168.110.10_key.txt這兩個文件(妥善保存)。node

而後再訪問:https://csr.chinassl.net/free-ssl.html
192.168.110.10_csr.txt文件裏的內容粘貼到代碼框裏,點獲取免費證書以後能夠下載到一個192.168.110.10_ssl.crt文件。express

配置Node.js
參考Node.js配置源,確保已經配置好cnpm了。npm

安裝express模塊:服務器

cnpm install express --save

安裝express模塊的相關依賴:cookie

cnpm install body-parser --save
cnpm install cookie-parser --save
cnpm install multer --save

安裝完成後能夠查看express的版本號:app

cnpm list express

使用HTTPS
192.168.110.10_key.txt192.168.110.10_ssl.crt(名字可能不一樣,可是格式是這樣的)複製到你服務器程序同級目錄下,好比個人目錄就這三個文件:ui

192.168.110.10_key.txt
192.168.110.10_ssl.crt
app.js

app.js.net

//導入模塊
const fs = require('fs')// 文件輸入輸出,用來導入證書        
const https = require('https')// https服務器  
const express = require('express')// express模塊導入

//讀取證書
const privateKey = fs.readFileSync('192.168.110.10_key.txt', 'utf8')
const certificate = fs.readFileSync('192.168.110.10_ssl.crt', 'utf8')

// 建立 express 應用
const app = express()
// 監聽 / 路徑的 get 請求
app.get('/', function(req, res) {
  res.send('Hello Word!')
})


const credentials = { key: privateKey, cert: certificate }
const httpsServer = https.createServer(credentials, app)
const SSLPORT = 443
httpsServer.listen(SSLPORT, function() {
  console.log('HTTPS Server is running on: https://localhost:%s', SSLPORT)
})

使用Node.js運行app.jscode

node app.js

設置信任這個證書就能夠了~

成功配置Node.js使用HTTPS在局域網內訪問!

2、總結

參考地址:
https://www.runoob.com/nodejs/nodejs-express-framework.html
https://www.jianshu.com/p/8b7b7d4d9992

相關文章
相關標籤/搜索