Node接口实现HTTPS版的

最近由于自己要做一个微信小程序,接口地址只能是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请求端口是不一样的

猜你喜欢

转载自www.cnblogs.com/xue-shuai/p/11958177.html
今日推荐