express啟用https使用小記
微信小程序的服務(wù)器域名只支持https和wss,我用nodejs的express作為后端服務(wù),經(jīng)百度和折騰,成功啟用https服務(wù)。
總結(jié)以下幾步,供參考。
1.申請(qǐng)SSL證書
筆者用的是騰訊云,申請(qǐng)的是為期一年免費(fèi)的證書,具體申請(qǐng)步驟不展開(kāi)介紹,頒發(fā)證書后,得到文件:
需要用到的文件在文件夾IIS中。
2.將證書放到項(xiàng)目中
將后綴為.pfx的證書文件放到express項(xiàng)目的靜態(tài)文件夾中,筆者放在項(xiàng)目根目錄下的public文件夾下。
3.在express的index.js中引用證書
import express from 'express'; import fs from 'fs'; import path from 'path'; import bodyParser from 'body-parser'; // 引入history模塊 import history from 'connect-history-api-fallback'; import https from 'https'; const app = express(); const options = { pfx: fs.readFileSync(path.join(__dirname, 'public','www.****.***.pfx')), passphrase: '***********' }; //options有兩個(gè)選項(xiàng),一個(gè)是證書本體,一個(gè)是密碼(剛剛的IIS文件夾的keystorePass.txt文件中) let server = https.createServer(options,app); app.use(history()); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: false })); app.use(express.static(path.join(__dirname, 'public'))); app.use("/static/file",express.static(path.join(__dirname, 'public'))); app.use(function (req, res, next) { var err = new Error('Not Found'); err.status = 404 next(err)}); // error handler app.use(function (err, req, res, next) { res.status(err.status || 500); console.log(err); res.send(err.message) }); // 設(shè)置監(jiān)聽(tīng)端口 const SERVER_PORT = 3000; server.listen(SERVER_PORT, (req, res) => { console.info(`服務(wù)已經(jīng)啟動(dòng),監(jiān)聽(tīng)端口${SERVER_PORT}`) }) export default app
引入https模塊,設(shè)置options配置。
如上述代碼,options有兩個(gè)選項(xiàng),一個(gè)是證書本體,一個(gè)是密碼(剛剛的IIS文件夾的keystorePass.txt文件中)
之后定義server,傳入option和express實(shí)例app,設(shè)置監(jiān)聽(tīng)端口即可。
4.啟動(dòng)服務(wù)
將后端項(xiàng)目部署到服務(wù)器中,啟動(dòng)express,可正常訪問(wèn)https服務(wù)。
后言
筆者大四下,很遺憾之前完成畢業(yè)設(shè)計(jì)那段時(shí)間沒(méi)有堅(jiān)持寫文章。
目前全棧開(kāi)發(fā)了一款微信小程序,剛上線不久。還寫了一款桌面程序,不過(guò)引入微信支付不太順利。
希望能把自己的經(jīng)驗(yàn)和遇到的坑多多寫成文章記錄下來(lái),對(duì)同樣有興趣的朋友提供參考。也希望大家多多支持腳本之家。
相關(guān)文章
Node.js使用supervisor進(jìn)行開(kāi)發(fā)中調(diào)試的方法
今天小編就為大家分享一篇關(guān)于Node.js使用supervisor進(jìn)行開(kāi)發(fā)中調(diào)試的方法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-03-03nodejs使用http模塊發(fā)送get與post請(qǐng)求的方法示例
這篇文章主要介紹了nodejs使用http模塊發(fā)送get與post請(qǐng)求的方法,結(jié)合實(shí)例形式分析了nodejs基于http模塊實(shí)現(xiàn)發(fā)送get與post請(qǐng)求具體操作技巧,需要的朋友可以參考下2018-01-01Node.js環(huán)境下Koa2添加travis ci持續(xù)集成工具的方法
這篇文章主要給大家介紹了在Node.js環(huán)境下Koa2添加travis ci持續(xù)集成工具的方法,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編一起來(lái)學(xué)習(xí)學(xué)習(xí)吧。2017-06-06nodejs做個(gè)爬蟲爬取騰訊動(dòng)漫內(nèi)容簡(jiǎn)單實(shí)現(xiàn)
這篇文章主要為大家介紹了nodejs做個(gè)爬蟲爬取騰訊動(dòng)漫內(nèi)容簡(jiǎn)單實(shí)現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07Nodejs讀取文件時(shí)相對(duì)路徑的正確寫法(使用fs模塊)
本篇文章主要介紹了linux 環(huán)境 mysql寫入中文報(bào)錯(cuò)的相關(guān)知識(shí)。具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-04-04nodejs個(gè)人博客開(kāi)發(fā)第三步 載入頁(yè)面
這篇文章主要為大家詳細(xì)介紹了nodejs個(gè)人博客開(kāi)發(fā)的載入頁(yè)面,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04