宝塔设置代理以及nodejs开启https

nodejs默认开启的是http服务,一般来说如果用nodejs作为后端的话,也会设置代理去进行请求,但是我之前不会啊😕,那时候编写接口我会新解析一个二级域名,然后把node映射到这个域名,这时候就需要启动node的https服务了,其实也很简单,几步就可以完成!当然此教程只针对express框架!!!同时欢迎大家访问我的博客小贺的个人博客 - 记录我的编程旅程与成长

express设置https

首先下载https模块

npm i https

然后创建引入模块,并且配置相关证书!

const express = require("express");
const cors = require("cors");
const {
  createServer
} = require("https");
const fs = require("fs");


//--create
const app = express();


//--use
app.use(cors());


app.get('/', (req, res) => {
  res.send('hello')
})
const httpServer = createServer({
    key: fs.readFileSync("证书xxx.key"),
    cert: fs.readFileSync("证书xxx.pem"),
  },
  app
);

httpServer.listen(4399, () => {
  console.log("https服务器已经启动......")
})

需要注意如果跨域了可以使用cors模块,然后就是这个证书的路径了,我的文件目录存放证书文件的目录和这个文件是同级所以直接使用./了,这个需要根据自己的进行调整。这时候咱们访问 https://localhost:4399/ 就可以看到页面已经打印了hello,下面就是配置自己的路由即可!!!

下面说一下使用代理的方法

宝塔进行代理

如果使用宝塔代理接口的话node是不需要使用https的,直接上代码。注意这个是配置前端网站,node单独使用宝塔自带的node项目或者pm2管理器都可以,不需要使用外网映射!

 location /api
    {
    proxy_pass http://127.0.0.1:xxxx;  # 将此处端口号替换为你的 Node.js 端口
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    }

至于这个再哪里设置,如图:

这里要注意的是我用的是/api,这个要根据自己的去修改,也就是说这时候你访问 xxxx.com/api/xxxx 时候他会代理成你的node的/api/xxxx。

最后呢我想说要一下,我最开始都是新开域名的,但是我发现好多网站都是请求当前域名/api/xxx什么的,后来我研究一下,才恍然大悟,于是就记录一下,也算是解开了自己好久的疑惑😃

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值