人妻精品在线观看一区二区三区,蜜臀av精品一区二区三区网站,中文一区二区三区亚洲欧美,熟女人妇精品一区二区,人妻av在线观看视频,欧美日韩国产三级精品网站,黄色免费网站直接进入,超碰公开福利正在播放,国产毛片乡下农村妇女毛片

怎么利用Node搭建Https服務(wù)-天天看點(diǎn)

來源:php中文網(wǎng) | 2023-03-27 19:56:09 |

怎么利用Node搭建Https服務(wù)?下面本篇文章給大家介紹一下Node.js搭建Https服務(wù)的方法,希望對(duì)大家有所幫助!

Node.js用于做小程序后臺(tái)服務(wù),域名要求必須是Https協(xié)議。在Node.js開啟Http服務(wù)是非常簡單的,如下:


(資料圖片)

const http = require("http");const server = http.createServer((req, res) => {    res.writeHead(200, { "Content-Type": "text/html;charset=utf8" });    res.end("訪問成功")});server.listen(8080, () => {    console.log("服務(wù)已開啟");})

如果想使用Https服務(wù)需要兩步:1. 需要有一份SSL證書;2. 使用Node.js自身的Https模塊。

SSL證書

獲取SSL證書方式有兩種:

自己借助openSSL工具生成SSL證書 【相關(guān)教程推薦:nodejs視頻教程、編程教學(xué)】下載某些平臺(tái)提供的免費(fèi)/付費(fèi)的SSL證書(推薦)

我是使用某云平臺(tái)提供免費(fèi)的證書

點(diǎn)擊下載后選擇服務(wù)器類型

下載后的文件分別是以.key、.pem為后綴,其中.key文件是base64加密私鑰,.pem文件是base64加密的證書

使用Node.js自身的Https模塊開啟一個(gè)服務(wù)

相較Http,它多了一個(gè)options參數(shù)。

const https = require("https");const fs = require("fs");const path = require("path");const options = {    key: fs.readFileSync(path.join(__dirname, "./ssl/9499016_www.linglan01.cn.key")),    cert: fs.readFileSync(path.join(__dirname, "./ssl/9499016_www.linglan01.cn.pem")),};const server = https.createServer(options, (req, res) => {    res.writeHead(200, { "Content-Type": "text/html;charset=utf8" });    res.end("訪問成功")});server.listen(8080, () => {    console.log("服務(wù)已開啟");})

由于SSL證書我綁定的域名是www.linglan01.cn ,當(dāng)我使用https://127.0.0.1:8080 訪問服務(wù)時(shí)與綁定的域名不相符,它會(huì)被攔截訪問,僅允許 www.linglan01.cn 訪問。

使用域名為www.linglan01.cn 才能正常的訪問。

使用Express框架開啟Https

工作中肯定是使用社區(qū)的Express等框架進(jìn)行開發(fā),想在Express等框架中開啟Https也非常容易,以Express舉例:

const https = require("https");const fs = require("fs");const path = require("path");const express = require("express")const app = express();app.get("/chat", (req, res) => {    res.send("我是https")});const options = {    key: fs.readFileSync(path.join(__dirname, "./ssl/9499016_www.linglan01.cn.key")),    cert: fs.readFileSync(path.join(__dirname, "./ssl/9499016_www.linglan01.cn.pem")),};const server = https.createServer(options, app);server.listen(8080, () => {    console.log("服務(wù)已開啟");})

總結(jié)

Node.js中搭建Https服務(wù)不難,Node.js已經(jīng)為我們提供了Https模塊可以快捷的完成搭建。Https服務(wù)實(shí)際中僅會(huì)使用到線上環(huán)境,如果本地環(huán)境也需要,我們也可以使用openSSL工具生成一個(gè)證書。

更多node相關(guān)知識(shí),請(qǐng)?jiān)L問:nodejs 教程!

以上就是怎么利用Node搭建Https服務(wù)的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!

關(guān)鍵詞: