摘要:開(kāi)篇寫(xiě)一堆可有可無(wú)的內(nèi)容都是耍流氓,所以我們直接開(kāi)始講升級(jí)步驟。一安裝必要的包或者用于啟動(dòng)服務(wù)用于獲取讀取證書(shū)文件用于將請(qǐng)求強(qiáng)制轉(zhuǎn)換為請(qǐng)求二獲取證書(shū)網(wǎng)上有很多教程了,可以自行查閱。
開(kāi)篇寫(xiě)一堆可有可無(wú)的內(nèi)容都是耍流氓,所以我們直接開(kāi)始講升級(jí)步驟。
yarn add https fs koa-sslify
或者
npm i -S https fs koa-sslify
https 用于啟動(dòng)https服務(wù)
fs用于獲取讀取證書(shū)文件
koa-sslify 用于將http請(qǐng)求強(qiáng)制轉(zhuǎn)換為https請(qǐng)求
網(wǎng)上有很多教程了,可以自行查閱。
我是在阿里云下載免費(fèi)證書(shū)(羅老師又不是不能用.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ù)語(yǔ)句
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í)例,訪問(wèn)地址為 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)資源訪問(wèn)路徑 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í)例,訪問(wèn)地址為 https://${host}:${port}`); });
現(xiàn)在重啟服務(wù)就可以了
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/106979.html
摘要:我是一個(gè)知乎輕微重度用戶,之前寫(xiě)了一只爬蟲(chóng)幫我爬取并分析它的數(shù)據(jù),我感覺(jué)這個(gè)過(guò)程還是挺有意思,因?yàn)檫@是一個(gè)不斷給自己創(chuàng)造問(wèn)題又去解決問(wèn)題的過(guò)程。所以這只爬蟲(chóng)還有登陸知乎搜索題目的功能。 我一直覺(jué)得,爬蟲(chóng)是許多web開(kāi)發(fā)人員難以回避的點(diǎn)。我們也應(yīng)該或多或少的去接觸這方面,因?yàn)榭梢詮呐老x(chóng)中學(xué)習(xí)到web開(kāi)發(fā)中應(yīng)當(dāng)掌握的一些基本知識(shí)。而且,它還很有趣。 我是一個(gè)知乎輕微重度用戶,之前寫(xiě)了一只爬...
摘要:既然前段工程化是基于,那么選擇做前后端分離部署也是理所應(yīng)當(dāng)?shù)?。有了這三個(gè)東西,我們就可以搭建出最簡(jiǎn)單的前端服務(wù)器了。 前后端分離開(kāi)發(fā)應(yīng)該已經(jīng)是很多公司的標(biāo)配了,然而,在前端工程化的體系下,開(kāi)發(fā)環(huán)境代碼和生產(chǎn)環(huán)境代碼往往是平級(jí)的,不再是整個(gè)文件夾往服務(wù)器上一扔就了事,這讓每次的部署過(guò)程相當(dāng)繁瑣。 如下是常見(jiàn)的項(xiàng)目目錄: Project └──javaSrc └──app ...
摘要:更好的安全性隨著的發(fā)布,從升級(jí)到了,更安全且更易配置。通過(guò)使用,程序可以減少握手所需時(shí)間來(lái)提升請(qǐng)求性能。提供診斷報(bào)告有一項(xiàng)實(shí)驗(yàn)功能,根據(jù)用戶需求提供診斷報(bào)告,包括崩潰性能下降內(nèi)存泄露使用高等等。前端精讀幫你篩選靠譜的內(nèi)容。 1. 引言 Node12 發(fā)布有幾個(gè)月了,讓我們跟隨 Nodejs 12 一起看看 Node12 帶來(lái)了哪些改變。 2. 概述 Node12 與以往的版本不同,帶來(lái)...
滬江CCtalk視頻地址:https://www.cctalk.com/v/15114923887518 showImg(https://segmentfault.com/img/remote/1460000013096340?w=1282&h=714); 處理錯(cuò)誤請(qǐng)求 愛(ài)能遮掩一切過(guò)錯(cuò)。 當(dāng)我們?cè)谠L問(wèn)一個(gè)站點(diǎn)的時(shí)候,如果訪問(wèn)的地址不存在(404),或服務(wù)器內(nèi)部發(fā)生了錯(cuò)誤(500),站點(diǎn)會(huì)展示出某...
摘要:簡(jiǎn)介搭建多頁(yè)面服務(wù)端渲染技術(shù)點(diǎn)搭建服務(wù)創(chuàng)建頁(yè)面路由模板引擎組合打包多頁(yè)面端異步請(qǐng)求服務(wù)端日志打印項(xiàng)目源碼運(yùn)行一現(xiàn)代服務(wù)端渲染的由來(lái)服務(wù)端渲染概念是指,瀏覽器向服務(wù)器發(fā)出請(qǐng)求頁(yè)面,服務(wù)端將準(zhǔn)備好的模板和數(shù)據(jù)組裝成完整的返回給瀏覽器展示前端后 簡(jiǎn)介 nodejs搭建多頁(yè)面服務(wù)端渲染 技術(shù)點(diǎn) koa 搭建服務(wù) koa-router 創(chuàng)建頁(yè)面路由 nunjucks 模板引擎組合html ...
閱讀 782·2021-09-26 09:55
閱讀 2071·2021-09-22 15:44
閱讀 1480·2019-08-30 15:54
閱讀 1336·2019-08-30 15:54
閱讀 2681·2019-08-29 16:57
閱讀 526·2019-08-29 16:26
閱讀 2496·2019-08-29 15:38
閱讀 2132·2019-08-26 11:48