要搭建一个接收HTTPS请求的Node.js服务器,可以按以下步骤操作:
1. 初始化项目和安装依赖:
bash
npm init -y
npm install express@latest
npm install https@latest
2. 生成证书文件:
这里按照自己的需求 去买ssl证书 或者获取免费证书 直接百度 阿里云获取免费证书等关键词即可
这里随便贴一个博主的教程 申请阿里云免费证书_阿里云证书_琦彦的博客-CSDN博客
3. 创建app.js文件,添加以下代码:
js
const express = require('express')
const https = require('https')
const fs = require('fs')
const app = express()
const options = {
key: fs.readFileSync('key.pem'),
cert: fs.readFileSync('cert.pem')
}
https.createServer(options, app).listen(9999)
app.get('/', (req, res) => {
res.send('Hello World!')
})
4. 运行node app.js启动服务器
5. 在浏览器地址栏输入https://localhost:9999访问,若出现“Hello World!”,表示HTTPS服务器启动成功。
案例:通过 https://gptooooooordre.cn:9999来访问我node后台的接口
下载ssl证书 下载后的文件分别是以.key、.pem
为后缀,其中.key
文件是base64加密私钥,.pem
文件是base64加密的证书
然后在 node_modules同路径下新建一个ssl文件夹 把下载好的ssl证书放入其中
这里app.js里面的配置如下:
const express = require('express') //加载express资源
const https = require('https')
const fs = require('fs')
const path = require('path');
const options = {
key:fs.readFileSync(path.join(__dirname,'./ssl/gotpordreams.cn.key')),
cert:fs.readFileSync(path.join(__dirname,'./ssl/gotpordreams.cn.pem'))
}
const server = https.createServer(options,(req,res)=>{
res.writeHead(200, { 'Content-Type': 'text/html;charset=utf8' });
res.end('访问成功')
})
server.listen(9999, () => {
console.log('服务已开启9999');
})
const app = express() //返回一个express服务器对象
结果 通过 https://gptooooooordre.cn:9999 访问 成功