爲小程序搭建https服務器(nodejs後端)

微信小程序連接服務器需要配置https服務,一開始覺得應該挺難,在折騰的過程中也踩過一些坑,但是弄好了之後發現還挺簡單的,我用的阿里雲的服務器,所以用阿里雲平臺申請證書(小白,使用的免費證書,可能安全性不咋滴)操作步驟(後端使用nodejs)如下:

購買->申請證書->下載證書->生成私鑰->配置服務器

1/5_申請證書:

登錄阿里雲,進入雲盾證書服務購買證書(阿里雲的免費版的是個人的)
在這裏插入圖片描述

2/5_申請證書:

這一步忘記截圖了。

3/5_申請證書:

申請成功之後就可以下載了。
在這裏插入圖片描述

4/5_生成crt文件

下載Win64 OpenSSL v1.1.1d Light,然後將自己的key文件和pem文件放入該軟件安裝目錄的bin目錄(這是server.keyserver.pem),打開控制檯。
參考 凝雨 - Yun的博客中第二個方法。

5/5_配置服務器

之後將下載的證書解壓(裏面包含一個key文件和一個pem文件),放入項目中。
以下是我的代碼 (nodejs–>express框架)。

const express = require("express")
const app = express();
const https = require("https");
const fs = require("fs");
const options = {
    key:fs.readFileSync("./server.key","utf8"),
    cert:fs.readFileSync("./server.crt","utf8")
}
app.get("/",(req,res)=>{
    res.send("hi,this is https!");
})
const server = https.createServer(options, app)
server.listen(443, ()=>{
    console.log("https is working!")
})

啓動項目之後,在瀏覽器中輸入https://127.0.0.1/,將會出現如下圖所示頁面
在這裏插入圖片描述
估計是因爲免費證書的安全性不高所以提示的,這裏點擊高級,然後繼續訪問皆可以了。

到這裏,應該就可以爲小程序開啓服務了(如果沒有用問題就不要往下看了)

-------------------------------------------分界線-------------------------------------------------
我的微信小程序報錯了,有如下提示 request:fail 此服務器的證書無效
我推測應該是因爲證書是個人版本的,而我的小程序是企業的,於是想辦法購買一個企業的SSL證書,恰好騰訊雲上有免費的,於是上騰訊雲上免費購買了一個。

需要的域名驗證指引操作如下鏈接(騰訊雲)
之後的操作和阿里雲的差不多,只是下載壓縮包的文件是一個key文件和一個crt文件。

直接使用就可以了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章