摘要:開篇寫一堆可有可無的內(nèi)容都是耍流氓,所以我們直接開始講升級(jí)步驟。一安裝必要的包或者用于啟動(dòng)服務(wù)用于獲取讀取證書文件用于將請(qǐng)求強(qiáng)制轉(zhuǎn)換為請(qǐng)求二獲取證書網(wǎng)上有很多教程了,可以自行查閱。
開篇寫一堆可有可無的內(nèi)容都是耍流氓,所以我們直接開始講升級(jí)步驟。
yarn add https fs koa-sslify
或者
npm i -S https fs koa-sslify
https 用于啟動(dòng)https服務(wù)
fs用于獲取讀取證書文件
koa-sslify 用于將http請(qǐng)求強(qiáng)制轉(zhuǎn)換為https請(qǐng)求
網(wǎng)上有很多教程了,可以自行查閱。
我是在阿里云下載免費(fèi)證書(羅老師又不是不能用.jpg)。
引入包
const https = require("https"); const fs = require("fs"); const enforceHttps = require("koa-sslify");
設(shè)置強(qiáng)制轉(zhuǎn)化http請(qǐng)求為https
// Force HTTPS on all page app.use(enforceHttps());
修改啟動(dòng)服務(wù)語句
const options = { key: fs.readFileSync("./app/ssl/ssl.key"), cert: fs.readFileSync("./app/ssl/ssl.pem") }; https.createServer(options, app.callback()).listen(config.port, () => { // const host = server.address().address const host = config.host; const port = config.port; console.log(`應(yīng)用實(shí)例,訪問地址為 https://${host}:${port}`); });
貼個(gè)服務(wù)端入口完整代碼
const Koa = require("koa"); const cors = require("koa2-cors"); const koaStatic = require("koa-static"); const bodyParser = require("koa-bodyparser"); const path = require("path"); const https = require("https"); const fs = require("fs"); const enforceHttps = require("koa-sslify"); const config = require("./config/config"); const router2controller = require("./app/router2controller.js"); const history = require("./app/utils/middleware/connect-history-api-fallback.js"); const app = new Koa(); // 刷新后404找到路由(要放最上面) app.use(history()); // 強(qiáng)制轉(zhuǎn)換https app.use(enforceHttps()); // 配置跨域、請(qǐng)求頭 app.use(cors({ origin: (ctx) => { return "*"; }, exposeHeaders: ["WWW-Authenticate", "Server-Authorization"], maxAge: 5, credentials: true, allowMethods: ["GET", "POST", "OPTIONS"], allowHeaders: ["Content-Type", "Authorization", "Accept"], })); // 將 post 請(qǐng)求和表單提交的查詢字符串轉(zhuǎn)換成對(duì)象,并掛在 ctx.request.body 上 app.use(bodyParser({ enableTypes: ["json", "form", "text"], // 配置可解析的類型 })); // 打包后靜態(tài)資源訪問路徑 const staticPath = "../dist" app.use(koaStatic( path.join(__dirname, staticPath) )); // 路由處理 app.use(router2controller()); const options = { key: fs.readFileSync("./app/ssl/ssl.key"), cert: fs.readFileSync("./app/ssl/ssl.pem") }; https.createServer(options, app.callback()).listen(config.port, () => { // const host = server.address().address const host = config.host; const port = config.port; console.log(`應(yīng)用實(shí)例,訪問地址為 https://${host}:${port}`); });
現(xiàn)在重啟服務(wù)就可以了
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/106979.html
摘要:我是一個(gè)知乎輕微重度用戶,之前寫了一只爬蟲幫我爬取并分析它的數(shù)據(jù),我感覺這個(gè)過程還是挺有意思,因?yàn)檫@是一個(gè)不斷給自己創(chuàng)造問題又去解決問題的過程。所以這只爬蟲還有登陸知乎搜索題目的功能。 我一直覺得,爬蟲是許多web開發(fā)人員難以回避的點(diǎn)。我們也應(yīng)該或多或少的去接觸這方面,因?yàn)榭梢詮呐老x中學(xué)習(xí)到web開發(fā)中應(yīng)當(dāng)掌握的一些基本知識(shí)。而且,它還很有趣。 我是一個(gè)知乎輕微重度用戶,之前寫了一只爬...
摘要:既然前段工程化是基于,那么選擇做前后端分離部署也是理所應(yīng)當(dāng)?shù)?。有了這三個(gè)東西,我們就可以搭建出最簡(jiǎn)單的前端服務(wù)器了。 前后端分離開發(fā)應(yīng)該已經(jīng)是很多公司的標(biāo)配了,然而,在前端工程化的體系下,開發(fā)環(huán)境代碼和生產(chǎn)環(huán)境代碼往往是平級(jí)的,不再是整個(gè)文件夾往服務(wù)器上一扔就了事,這讓每次的部署過程相當(dāng)繁瑣。 如下是常見的項(xiàng)目目錄: Project └──javaSrc └──app ...
摘要:更好的安全性隨著的發(fā)布,從升級(jí)到了,更安全且更易配置。通過使用,程序可以減少握手所需時(shí)間來提升請(qǐng)求性能。提供診斷報(bào)告有一項(xiàng)實(shí)驗(yàn)功能,根據(jù)用戶需求提供診斷報(bào)告,包括崩潰性能下降內(nèi)存泄露使用高等等。前端精讀幫你篩選靠譜的內(nèi)容。 1. 引言 Node12 發(fā)布有幾個(gè)月了,讓我們跟隨 Nodejs 12 一起看看 Node12 帶來了哪些改變。 2. 概述 Node12 與以往的版本不同,帶來...
滬江CCtalk視頻地址:https://www.cctalk.com/v/15114923887518 showImg(https://segmentfault.com/img/remote/1460000013096340?w=1282&h=714); 處理錯(cuò)誤請(qǐng)求 愛能遮掩一切過錯(cuò)。 當(dāng)我們?cè)谠L問一個(gè)站點(diǎn)的時(shí)候,如果訪問的地址不存在(404),或服務(wù)器內(nèi)部發(fā)生了錯(cuò)誤(500),站點(diǎn)會(huì)展示出某...
摘要:簡(jiǎn)介搭建多頁面服務(wù)端渲染技術(shù)點(diǎn)搭建服務(wù)創(chuàng)建頁面路由模板引擎組合打包多頁面端異步請(qǐng)求服務(wù)端日志打印項(xiàng)目源碼運(yùn)行一現(xiàn)代服務(wù)端渲染的由來服務(wù)端渲染概念是指,瀏覽器向服務(wù)器發(fā)出請(qǐng)求頁面,服務(wù)端將準(zhǔn)備好的模板和數(shù)據(jù)組裝成完整的返回給瀏覽器展示前端后 簡(jiǎn)介 nodejs搭建多頁面服務(wù)端渲染 技術(shù)點(diǎn) koa 搭建服務(wù) koa-router 創(chuàng)建頁面路由 nunjucks 模板引擎組合html ...
閱讀 876·2021-09-26 09:55
閱讀 2158·2021-09-22 15:44
閱讀 1557·2019-08-30 15:54
閱讀 1402·2019-08-30 15:54
閱讀 2745·2019-08-29 16:57
閱讀 584·2019-08-29 16:26
閱讀 2562·2019-08-29 15:38
閱讀 2210·2019-08-26 11:48