最近在做微信的應用號小程序開發(fā),小程序的后臺數(shù)據(jù)接口需要https安全請求,所以需要我的nodejs服務器能夠提供https的支持茂装,現(xiàn)在就將整個https服務器的搭建過程說一下其馏。
首先,我試了一下以前的過期的證書确徙,在開發(fā)者工具里模擬的時候可以正常訪問接口,在手機里測試時候微信小程序的wx.request是會報SSL握手失敗的錯誤(request error : request: fail ssl hand shake error)执桌,所以只能重新申請一個證書鄙皇,這里推薦使用阿里云的賽門鐵克 SSL/TLS 證書,是微信支持的仰挣,可以免費申請使用一年伴逸。
申請完之后審核周期一般在1~3天,就可以下載證書文件膘壶,我們選擇其他類別的證書
解壓出來之后的目錄如下圖减宣,我們需要用到的文件為第一二個文件,也就是我們的私有秘鑰文件夫否。
然后需要搭建我們的https服務器挥萌,這里用到的是nodejs自帶的https模塊
var https = require('https')
,fs = require("fs");
var express = require('express');
var app = express();
var options = {
key: fs.readFileSync('./213988289600767.key'),
cert: fs.readFileSync('./213988289600767.pem')
};
https.createServer(options, app).listen(8081, function () {
console.log('Https server listening on port ' + 8081);
});
這時候要注意,微信的小程序只支持不帶端口的域名接口亡问,不支持IP地址和接口官紫,所以我們需要映射到80端口并綁定備案過的域名才能被微信小程序訪問到。
最后我們就可以通過wx.request方法來訪問我們的nodejs服務器接口了州藕。