nodejs搭建https服务app.js完整配置

news/2024/12/29 13:38:31/

前面成功访问后台端口后  这个HTTPS服务器只返回了一个"访问成功"的响应。要使前台HTTPS请求能访问到ajaxRouter里面的接口应该修改配置为

1. 将ajartRouter路由(app.use(route))添加到HTTPS服务器的请求监听器app上,而不是直接添加到express对象上。修改为:

https.createServer(options, app, (req, res) => {// app上已包含ajaxRouter路由res.writeHead(200, { 'Content-Type': 'text/html;charset=utf8' });res.end('访问成功') 
})

2. 删除原来直接添加到express对象上的app.use(route),改为只在HTTPS服务器请求监听器app上添加(第1步已完成)

3. 启动服务器,HTTPS请求就会先访问请求监听器app,进而访问ajaxRouter路由,从而返回对应接口的响应。

修改后的示例代码:

const express = require('express') 
const route=require("./routes/backStage/ajaxRouter")const app = express() 
app.use(route)const https = require('https')
const options = { /* ... */ }https.createServer(options, app, (req, res) => {// app上已包含ajaxRouter路由res.send('ok')
}).listen(8886)

完整代码

const express = require('express') //加载express资源
const bodyParser=require("body-parser")//一个Express中间件,用于解析HTTP请求体,获得请求的数据const app = express() //返回一个express服务器对象
const https = require('https')
const fs = require('fs')
const path = require('path');
const logger=require("morgan");//日志模块
const favicon=require("serve-favicon") //用于设置和提供 favicons(网页标签图标)。//导入ajaxRouter这个路由
const route=require("./routes/backStage/ajaxRouter")
const route1=require("./routes/applet/ajaxRouter");// 日志模块放在最上方
app.use(logger("dev"))//调用日志,配置为dev(开发)模式// 使用bodyParser应该在路由前
// extended:false:表示使用系统模块query string来处理数据
// extended:true 表示使用第三方模块qs来处理
app.use(bodyParser.urlencoded({extended:false}));
app.use(bodyParser.json());//使用路由,放在静态资源路径前面
app.use(route)
app.use(route1)//设置静态资源路径
//__dirname指向当前文件的根目录
app.use(express.static(__dirname+"/public"))
//设置小图标
app.use(favicon(__dirname+"/public/images/favicon.ico"))//ssl证书
const options = {key:fs.readFileSync(path.join(__dirname,'./ssl/gathorereams.cn.key')),cert:fs.readFileSync(path.join(__dirname,'./ssl/gathorereams.cn.pem'))
}const server = https.createServer(options,app,(req,res)=>{res.writeHead(200, { 'Content-Type': 'text/html;charset=utf8' });res.end('访问成功')
})server.listen(8886, () => {console.log('服务已开启8886');
})


http://www.ppmy.cn/news/687951.html

相关文章

2019 AMC8中文

P1 艾克和迈克带了30块钱去商店,三明治4.5元一个,饮料1块钱一瓶。他们想买尽量多的三明治,用剩下的钱买饮料。问一共可以买多少样东西? P2 三个一样的小矩形放一起。每个小矩形的宽是5英尺,问大矩形面积 P3 从小到…

上线一套 BI 系统到底需要多少钱???

犹记 10 年前,接到第一份 offer,岗位 Title 就是 BI 工程师 从此也就和 BI 行业有了这份不解之缘 往前推 10 年,还是 08 北京奥运的时候,听起来似乎已经是很久远的样子,尤其是现在 BI 行业的生力军 90 后会问&#x…

美科技巨头每秒能赚多少钱?苹果11376元、谷歌6691元

NEW 关注Tech逆向思维视频号 最新视频→【海马效应:平行宇宙的另一个自己?】 6月28日消息,金融科技软件公司Tipalti的一项最新研究显示,苹果在2020年每秒赚钱超过1700美元(约合11376元人民币),紧…

【数据库】外键的作用

前言 说到外键,一般就会牵扯出约束。不谈约束,起始外键就是一个普通的字段(Column),起到一个关联的作用。 先把约束放一边,看看外键有哪些作用。 建立表中记录的一对一的关系 学生表: 手机表…

苹果8p电池多少毫安的_一位果粉的纠结:苹果8P电池健康度83%,换电池还是买新机?...

文 | 科技有意思,编辑 | 猫叔 我身边有一位果粉用户,在苹果iPhone12系列机型正式发布后想买一部。但是呢,他又有一些犹豫不决,关键原因在于手里的那部iPhone8P。下面,具体给大家聊下。 话说,这位果粉用户跟…

Arduino IDE的安装

https://www.arduino.cc/en/software/

Background-2 盲注的讲解基础概述二

文章目录 一、基于报错的 SQL 盲注------构造 payload 让信息通过错误提示回显出来二、基于时间的 SQL 盲注----------延时注入总结 一、基于报错的 SQL 盲注------构造 payload 让信息通过错误提示回显出来 select 1,count(*),concat(0x3a,0x3a,(select user()),0x3a,0x3a,fl…

利用IDM下载QQ群文件

利用IDM下载QQ群文件 学习网络安全经常是在QQ群里和朋友们沟通交流,群文件中很多有用的工具或资料内容,小文件的下载比较方便,要是有1G以上的大文件就有些麻烦,速度往往只有100k左右,等着着急,这里分享一个…