欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Node.js搭建Https服務(wù)過(guò)程詳解

 更新時(shí)間:2023年08月28日 11:05:37   作者:凌覽  
這篇文章主要為大家介紹了Node.js搭建Https服務(wù)過(guò)程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

Node.js開(kāi)啟Http服務(wù)

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

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


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

SSL證書(shū)

獲取SSL證書(shū)方式有兩種:

  • 自己借助openSSL工具生成SSL證書(shū)
  • 下載某些平臺(tái)提供的免費(fèi)/付費(fèi)的SSL證書(shū)(推薦)

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

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

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

使用Node.js自身的Https模塊開(kāi)啟一個(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('訪問(wèn)成功')
});
server.listen(8080, () => {
    console.log('服務(wù)已開(kāi)啟');
})

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

使用域名為www.linglan01.cn 才能正常的訪問(wèn)。

使用Express框架開(kāi)啟Https

工作中肯定是使用社區(qū)的Express等框架進(jìn)行開(kāi)發(fā),想在Express等框架中開(kāi)啟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ù)已開(kāi)啟');
})

總結(jié)

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

以上就是Node.js搭建Https服務(wù)過(guò)程詳解的詳細(xì)內(nèi)容,更多關(guān)于Node.js搭建Https服務(wù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 理解nodejs的stream和pipe機(jī)制的原理和實(shí)現(xiàn)

    理解nodejs的stream和pipe機(jī)制的原理和實(shí)現(xiàn)

    本篇文章主要介紹了理解nodejs的stream和pipe機(jī)制的原理和實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • PostgreSQL Node.js實(shí)現(xiàn)函數(shù)計(jì)算方法示例

    PostgreSQL Node.js實(shí)現(xiàn)函數(shù)計(jì)算方法示例

    這篇文章主要給大家介紹了關(guān)于PostgreSQL Node.js實(shí)現(xiàn)函數(shù)計(jì)算的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02
  • node中npm ERR! network ‘proxy‘ 配置問(wèn)題解決

    node中npm ERR! network ‘proxy‘ 配置問(wèn)題解決

    在進(jìn)行npm依賴管理時(shí),可能會(huì)遇到因網(wǎng)絡(luò)配置不當(dāng)導(dǎo)致的錯(cuò)誤,如npm ERR! network proxy config is set properly,下面就來(lái)介紹一下,感興趣的可以了解一下
    2024-09-09
  • Node.js 獲取微信JS-SDK CONFIG的方法示例

    Node.js 獲取微信JS-SDK CONFIG的方法示例

    這篇文章主要介紹了Node.js 獲取微信JS-SDK CONFIG的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • node.js中實(shí)現(xiàn)雙重身份驗(yàn)證機(jī)制的方法詳解

    node.js中實(shí)現(xiàn)雙重身份驗(yàn)證機(jī)制的方法詳解

    雙重身份驗(yàn)證(Two-factor?authentication)是一種安全機(jī)制,它要求用戶提供兩種不同的身份驗(yàn)證因素來(lái)訪問(wèn)他們的帳戶,下面我們就來(lái)學(xué)習(xí)一下如何使用speakeasy在nodejs中實(shí)現(xiàn)雙重身份驗(yàn)證吧
    2023-10-10
  • Windows中徹底刪除Node.js環(huán)境(以及npm)的方法

    Windows中徹底刪除Node.js環(huán)境(以及npm)的方法

    本文詳細(xì)介紹了如何在Windows電腦中徹底刪除Node.js環(huán)境,包括查找安裝路徑、使用控制面板卸載以及手動(dòng)刪除殘留文件夾
    2025-01-01
  • NVM管理Node.js實(shí)現(xiàn)不同版本Angular環(huán)境切換

    NVM管理Node.js實(shí)現(xiàn)不同版本Angular環(huán)境切換

    Node Version Manager(NVM)是一個(gè)用于管理多個(gè)Node.js版本的工具,它允許用戶在同一臺(tái)機(jī)器上安裝和使用多個(gè)Node.js版本,本文將給大家介紹NVM管理Node.js實(shí)現(xiàn)不同版本Angular環(huán)境切換的流程步驟,需要的朋友可以參考下
    2024-05-05
  • node?gyp安裝canvas原生模塊編譯node?pregyp詳解

    node?gyp安裝canvas原生模塊編譯node?pregyp詳解

    這篇文章主要為大家介紹了Nodejs關(guān)于原生模塊編譯node-gyp + node-pre-gyp (以安裝canvas為例)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • nvm安裝方法以及安裝后node不能使用解決

    nvm安裝方法以及安裝后node不能使用解決

    在我們的日常開(kāi)發(fā)中經(jīng)常會(huì)遇到這種情況,手上有好幾個(gè)項(xiàng)目,每個(gè)項(xiàng)目的需求不同,進(jìn)而不同項(xiàng)目必須依賴不同版的NodeJS運(yùn)行環(huán)境,nvm應(yīng)運(yùn)而生,這篇文章主要給大家介紹了關(guān)于nvm安裝方法以及安裝后node不能使用解決的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • nodejs+mongodb+vue前后臺(tái)配置ueditor的示例代碼

    nodejs+mongodb+vue前后臺(tái)配置ueditor的示例代碼

    本篇文章主要介紹了nodejs+mongodb+vue前后臺(tái)配置ueditor的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-01-01

最新評(píng)論