中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何用Node搭建Https服務

發布時間:2023-03-28 10:13:14 來源:億速云 閱讀:134 作者:iii 欄目:web開發

這篇“如何用Node搭建Https服務”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“如何用Node搭建Https服務”文章吧。

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

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('服務已開啟');
})

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

SSL證書

獲取SSL證書方式有兩種:

  1. 自己借助openSSL工具生成SSL證書 

  2. 下載某些平臺提供的免費/付費的SSL證書(推薦)

我是使用某云平臺提供免費的證書

如何用Node搭建Https服務

點擊下載后選擇服務器類型

如何用Node搭建Https服務

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

如何用Node搭建Https服務

使用Node.js自身的Https模塊開啟一個服務

相較Http,它多了一個options參數。

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('服務已開啟');
})

由于SSL證書我綁定的域名是www.linglan01.cn ,當我使用https://127.0.0.1:8080 訪問服務時與綁定的域名不相符,它會被攔截訪問,僅允許 www.linglan01.cn 訪問。

如何用Node搭建Https服務

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

如何用Node搭建Https服務

使用Express框架開啟Https

工作中肯定是使用社區的Express等框架進行開發,想在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('服務已開啟');
})

如何用Node搭建Https服務

以上就是關于“如何用Node搭建Https服務”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

青阳县| 天峻县| 即墨市| 三江| 邛崃市| 郯城县| 无锡市| 白河县| 湖口县| 崇信县| 襄樊市| 靖边县| 桐乡市| 宁远县| 桃园县| 海淀区| 冀州市| 怀宁县| 宿松县| 高唐县| 溧水县| 彰武县| 河北区| 东城区| 巴中市| 资源县| 垦利县| 镇沅| 福泉市| 东莞市| 襄樊市| 五原县| 固安县| 达孜县| 延津县| 逊克县| 铜川市| 寿宁县| 剑河县| 九台市| 永顺县|