记录生活中的点点滴滴

0%

使用https的node接口

我以前学node的时候,了解了接口的含义,并懂得了使用express包,可以快速搭建后端接口。

但是那个时候都是借助本机localhost,就算用服务器也只是http形式的。

但是微信小程序对于http格式的域名是禁止发送请求的,所以我们得学会搭建https的后端接口。

首先我们得先把我们域名升级为https,可以参考我以前的两篇文章:

安装nginxnginx服务器http转https

我们还需要将https的那两个ssl.keyssl.pem文件放到我们的这个文件下面。

创建一个app.js文件,内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
const express = require("express");
const https = require("https");
const fs = require("fs");
const path = require('path')

const httpsOption = {
key : fs.readFileSync(path.join(__dirname, 'ssl.key')),
cert: fs.readFileSync(path.join(__dirname, 'ssl.pem'))
}

let app = express();
app.get('/test', (req, res) => {
res.send('hello')
})
https.createServer(httpsOption, app).listen(4000);
console.log('running')

我们需要上面四个包:

  1. express:这个包需要我们npm install下载,使用express可以帮助我们快速设置路由,少些很多代码。
  2. https:这个是node里面自带的包,关于https
  3. fs:也是node里面自带的包,关于文件读取
  4. path:也是node里面自带的包,关于文件路径

我们还需使用node app.js或者nohup node app.js &运行app.js文件。

nohup node app.js &是一直在服务器运行这个文件,不过要注意我们退出服务器的时候要敲exit退出。

这样我们就创建了一个node后端接口,我们访问服务区的4000端口下的test路径,浏览器会给我们返回个hello字符串。

我的项目结构如下所示:

我已经把这个小项目放到github上面了:nodeAPI,有需要的可以看看。

我们用的时候注意把ssl.key和ssl.pem文件放到项目中,并且安装npm相关包(npm install)。