欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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请求端口是不一样的