域名加上ssl证书之后,网站接口也变成https请求,导致无法加载数据库数据

环境:

域名:腾讯云

服务器:windows2019

前端:vue

后端:node

有关https证书安装,腾讯云有详细配置教程 链接

问题产生原因:

我把网站域名变成了https,接口也变成了http请求数据,node接口是http请求导致数据无法请求成功

①把接口由http请求转换成https请求

<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests" />

在更改成功之后,新的问题出现了,问题原因是https请求还是请求不到后端数据

②在后端添加https的请求方式

// 引入模块配置
let express = require('express')
let app = new express()

var cors = require('cors') // 后端解决跨域
app.use(cors())

let bodyParser = require('body-parser') //解析post发送出来的数据
app.use(bodyParser.urlencoded({ extended: false }))
app.use(bodyParser.json())

let router = require('./router') //引入路由
app.use('/api', router)


// http,https请求数据配置
var fs = require('fs'); //引入文件模块
var http = require('http'); //引入http
var https = require('https'); //引入https
var privateKey = fs.readFileSync('./XXXX.top.key', 'utf8'); //密钥   这个是ssl解压后的文件
var certificate = fs.readFileSync('./XXXX.top_bundle.crt', 'utf8'); //公钥  这个是ssl解压后的文件
var caKey = fs.readFileSync('./XXXX.top.csr', 'utf8'); //ca认证  这个是ssl解压后的文件
var credentials = { key: privateKey, ca: [caKey], cert: certificate };
var httpServer = http.createServer(app); //创建http服务
var httpsServer = https.createServer(credentials, app); //创建https服务
var PORT = 8001; //http监听的端口
var SSLPORT = 8002; //https监听的端口

httpServer.listen(PORT, () => {
    console.log('run success!port:8001.');
}); //http服务绑定端口
httpsServer.listen(SSLPORT, () => {
    console.log('run success!port:8002.');
}); //https服务绑定端口

 配置如上  完成之后,启动node服务,通过访问https请求接口数据就成功了 ,http访问接口数据也是可以拿到数据的,网站成功运行起来了

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值