nodejs搭建接口转发服务,nginx代理

 个人开发的塔罗牌占卜小程序:【问问塔罗牌】 快来瞧瞧吧!

 

运行环境ubuntu18.04 服务器环境装了lxd,起一个container环境,随便搞,崩了也不要紧,不喜欢删掉重起
后端使用java架构,提供基本接口服务,前端使用vue,node用来做中间层进行接口的整合处理工作,用nginx
处理静态资源服务,代理node接口服务,这样解决了跨域问题

1、nginx下载 sudo apt-get install nginx
2、启动nginx sudo /etc/init.d/nginx start
3、关闭nginx sudo /etc/init.d/nginx stop
4、重启nginx sudo /etc/init.d/nginx restart
5、查看nginx配置文件所在
sudo nginx -t
6、修改配置文件 vi /etc/nginx/sites-available/default
不懂vi的自行百度
在server 处添加以下代码

location ^~ /api/ {

       proxy_set_header X-Real-IP $remote_addr;

       proxy_set_header Host $http_host;

       proxy_pass http://192.168.0.80:3000/users/api;
}

这里写图片描述

 

以上代码代表 对80端口进行监控 开头对URL路径进行前缀匹配 匹配成功转发到 http://192.168.0.80:3000/users/api
来个栗子:
前端请求

axios.post('/api/adduser')
    .then(function(res){
        console.log(res)
    })
    .catch(function(err){
        console.log(err)
    })



浏览器就通过默认端口发起请求 http://192.168.0.80/api/adduser
nginx监听默认端口80,并进行匹配http://192.168.0.80/api/,
ojbk匹配到了就转发,这部分http://192.168.0.80/api/就变成 http://192.168.0.80:3000/users/api/
最后变成 http://192.168.0.80:3000/users/api/adduser;
重启nginx

 

在node端响应接口
node端用express
…….
…..
以上环境搭好了,用express-generator生成项目结构
app.js 中间件拦截匹配/users 走userRouter

这里写图片描述
users.js

 这里写图片描述

 


重启node
测试是否代理成功
用eoliner进行测试 当然也可以前端自己请求测试 前端成功返回数据

这里写图片描述

 

 

 个人开发的塔罗牌占卜小程序:【问问塔罗牌】 快来瞧瞧吧!

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值