最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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('訪(fǎng)問(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ù)器類(lèi)型

下載后的文件分別是以.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('訪(fǎng)問(wèn)成功')
});
server.listen(8080, () => {
    console.log('服務(wù)已開(kāi)啟');
})

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

使用域名為www.linglan01.cn 才能正常的訪(fǎng)問(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ì)使用到線(xiàn)上環(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)文章

  • Node.js一行代碼實(shí)現(xiàn)靜態(tài)文件服務(wù)器的方法步驟

    Node.js一行代碼實(shí)現(xiàn)靜態(tài)文件服務(wù)器的方法步驟

    這篇文章主要介紹了Node.js一行代碼實(shí)現(xiàn)靜態(tài)文件服務(wù)器的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • 淺談Node.js:fs文件系統(tǒng)模塊

    淺談Node.js:fs文件系統(tǒng)模塊

    本篇文章主要介紹了Node.js:fs文件系統(tǒng)模塊,具有一定的參考價(jià)值,有需要的可以了解一下。
    2016-12-12
  • NodeJs下的測(cè)試框架Mocha的簡(jiǎn)單介紹

    NodeJs下的測(cè)試框架Mocha的簡(jiǎn)單介紹

    本篇文章主要介紹了NodeJs下的測(cè)試框架Mocha的簡(jiǎn)單介紹,是目前最為流行的javascript框架之一,在本文我們重點(diǎn)介紹它在NodeJs上的使用。有興趣的可以了解一下。
    2017-02-02
  • Egret引擎開(kāi)發(fā)指南之創(chuàng)建項(xiàng)目

    Egret引擎開(kāi)發(fā)指南之創(chuàng)建項(xiàng)目

    Egret Engine(白鷺引擎)是一款使用TypeScript語(yǔ)言構(gòu)建的開(kāi)源免費(fèi)的移動(dòng)游戲引擎。白鷺引擎的核心定位是開(kāi)放,高效,優(yōu)雅。通過(guò)它,你可以快速地創(chuàng)建HTML5類(lèi)型的移動(dòng)游戲,也可以將游戲項(xiàng)目編譯輸出成為目標(biāo)移動(dòng)平臺(tái)的原生游戲應(yīng)用。
    2014-09-09
  • 利用Node.js檢測(cè)端口是否被占用的方法

    利用Node.js檢測(cè)端口是否被占用的方法

    這篇文章主要給大家介紹了關(guān)于利用Node.js檢測(cè)端口是否被占用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-12-12
  • Linux 安裝nodejs環(huán)境及路徑配置詳細(xì)步驟

    Linux 安裝nodejs環(huán)境及路徑配置詳細(xì)步驟

    大家都知道linux安裝nodejs有兩種比較常用的方法,一種解壓即可用的方法操作比較簡(jiǎn)便,另一種方法通過(guò)編譯來(lái)安裝,本文重點(diǎn)給大家講解第一種方法,感興趣的朋友跟隨小編一起看看吧
    2021-11-11
  • 詳解node.js搭建代理服務(wù)器請(qǐng)求數(shù)據(jù)

    詳解node.js搭建代理服務(wù)器請(qǐng)求數(shù)據(jù)

    本篇文章主要介紹了詳解node.js搭建代理服務(wù)器請(qǐng)求數(shù)據(jù),具有一定的參考價(jià)值,有興趣的可以了解一下。
    2017-04-04
  • Node.js如何實(shí)現(xiàn)MySQL數(shù)據(jù)庫(kù)連接池

    Node.js如何實(shí)現(xiàn)MySQL數(shù)據(jù)庫(kù)連接池

    文章介紹了Node.js中實(shí)現(xiàn)MySQL數(shù)據(jù)庫(kù)連接池的方法,通過(guò)預(yù)先建立和管理數(shù)據(jù)庫(kù)連接對(duì)象,優(yōu)化數(shù)據(jù)庫(kù)連接的使用效率
    2024-11-11
  • node.js中的fs.lstat方法使用說(shuō)明

    node.js中的fs.lstat方法使用說(shuō)明

    這篇文章主要介紹了node.js中的fs.lstat方法使用說(shuō)明,本文介紹了fs.lstat的方法說(shuō)明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • Node.js服務(wù)器環(huán)境下使用Mock.js攔截AJAX請(qǐng)求的教程

    Node.js服務(wù)器環(huán)境下使用Mock.js攔截AJAX請(qǐng)求的教程

    Mock.js這個(gè)JavaScript庫(kù)最常見(jiàn)的用法便是被用來(lái)攔截AJAX請(qǐng)求,well,這里我們就來(lái)看一下Node.js服務(wù)器環(huán)境下使用Mock.js攔截AJAX請(qǐng)求的教程:
    2016-05-05

最新評(píng)論

崇义县| 英德市| 汤原县| 静乐县| 凌云县| 唐山市| 友谊县| 淮安市| 阳江市| 柳江县| 株洲市| 遂川县| 新民市| 澎湖县| 阿拉善左旗| 乌拉特中旗| 淄博市| 临沂市| 阳城县| 岑巩县| 边坝县| 岑溪市| 太仆寺旗| 和政县| 建平县| 元阳县| 米易县| 孝昌县| 平陆县| 兖州市| 江山市| 宜城市| 个旧市| 通州市| 花垣县| 双江| 富锦市| 马关县| 静海县| 张家口市| 建水县|