成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

只要三步,將koa的node服務(wù)升級(jí)到https

MarvinZhang / 3887人閱讀

摘要:開(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)求

二、獲取證書(shū)

網(wǎng)上有很多教程了,可以自行查閱。
我是在阿里云下載免費(fèi)證書(shū)(羅老師又不是不能用.jpg)。

三、修改服務(wù)入口文件代碼

引入包

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

相關(guān)文章

  • 一只node爬蟲(chóng)升級(jí)打怪之路

    摘要:我是一個(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ě)了一只爬...

    shiweifu 評(píng)論0 收藏0
  • 最簡(jiǎn)單前后端分離部署(Koa2)

    摘要:既然前段工程化是基于,那么選擇做前后端分離部署也是理所應(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 ...

    SegmentFault 評(píng)論0 收藏0
  • 精讀《Nodejs V12》

    摘要:更好的安全性隨著的發(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)...

    CoderStudy 評(píng)論0 收藏0
  • iKcamp|基于Koa2搭建Node.js實(shí)戰(zhàn)(含視頻)? 錯(cuò)誤處理

    滬江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ì)展示出某...

    leeon 評(píng)論0 收藏0
  • node服務(wù)端渲染(完整demo)

    摘要:簡(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 ...

    cheukyin 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<