Node接口实现HTTPS版的
程序员文章站
2022-04-14 11:10:57
...
最近由于自己要做一个微信小程序,接口地址只能是https的,这就很难受了
于是乎,我租了个服务器,搞了个免费的ssl认证
可是呢,我不会搞https接口怎样实现
今天特意花了一天时间来学,来学习
"use strict";
var app = require('express')();
const mysql = require('mysql');//引入mysql
var fs = require('fs');//引入文件模块
var http = require('http');//引入http
var https = require('https');//引入https
const cors = require('cors')// 跨域
var bodyParser = require('body-parser');//解析参数
var privateKey = fs.readFileSync('./********.key', 'utf8');//**
var certificate = fs.readFileSync('./********.crt', 'utf8');//公钥
var caKey = fs.readFileSync('./**********.crt', 'utf8');//私钥
var credentials = {key: privateKey, ca:[caKey], cert: certificate};
const option = {
host:'localhost',//数据库地址
user:'root',//账户名
password:'root',//密码
port:'3306',//端口
database:'******',//数据库名
connectTimeout:5000, // 连接超时
multipleStatements:false // 是否允许一个query中包含多条sql语句
}
const conn = mysql.createConnection(option)
var httpServer = http.createServer(app);//创建http服务
var httpsServer = https.createServer(credentials, app);//创建https服务
var PORT = 8001; //http监听的端口
var SSLPORT = 8002;//https监听的端口
app.use(cors()) //解决跨域
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));//允许表单请求
httpServer.listen(PORT);//http服务绑定端口
httpsServer.listen(SSLPORT);//https服务绑定端口
//以下是你的接口文件
//例如:
app.get('/user',(req,res)=>{
conn.query("select * from `表名`",(e,r)=>res.json(new Result({data:r})))
})
function Result({code=0,msg='',data={}}){
this.code = code;
this.msg = msg;
this.data = data
}
现在才发现原来http请求和https请求端口是不一样的