Nginx一个端口代理多个vue项目,通过不同路由转到不同系统,反向代理Apache进行文件处理

需求:由于一些因素限制,需要尽可能的少开放外部端口访问,这里将多个vue项目通过一个nginx端口进行代理,由不同的路由来确定访问哪些项目,apache同理

nginx代理多个vue项目

安装和配置nginx的基础教程这里就不写了,网上一搜很多,遇到这个问题代表一些基础的nginx应用肯定没有问题,话不多说,开整:

  1. 首先我们需要调整vue的打包配置,涉及修改vue.config.js 和 router配置
    vue2 - webpack打包修改打包配置文件,修改项目的根路径,因为在nginx增加了一层这里也需要调整一下根路径,默认是/

    vue3 - vite打包需要修改vite.config.ts文件中内容,如果没引入ts就是vite.config.js

    修改router配置,不填写默认base是/,添加了以后会在所有的路由前面都加上/vehicle/,例如登录页面xxxx:8080/#/login会被代理为xxx:8080/vehicle/#/login
    mode:history代表history路由不再显示#

    注意:二者添加的内容必须相同,并且要保持和配置nginx的配置地址一致

  2. 修改nginx配置

    这里二级项目一定要使用alias来指定vue包路径

    nginx配置文件修改以后不要忘记使用 nginx -s reload重新加载一下配置文件,否则是不生效的

apache由nginx代理,与vue项目公用端口

这个修改起来比较简单,修改一下nginx的配置文件即可

这里/upload-download/ 改为你自己想要的路径即可

bash 复制代码
location /upload-download/ {
    # Apache服务器的地址
    proxy_pass http://127.0.0.1:7770/;
    # 传递请求头给Apache  
    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;
}

此时就可以通过xxxx:8080/upload-download/来访问apache

注意不要少写了反斜线,线上的如果加了ssl需要修改为https://127.0.0.1:7770/

今天就写到这里,有什么问题感谢评论或者私信指正,转发请注明出处

相关推荐
Gracemark9 小时前
高德地图-地图选择经纬度问题【使用输入提示-使用Autocomplete进行联想输入】(复盘)
vue.js
天下无贼10 小时前
【手写组件】 Vue3 + Uniapp 手写一个高颜值日历组件(含跨月补全+今日高亮+选中状态)
前端·vue.js
洋葱头_12 小时前
vue3项目不支持低版本的android,如何做兼容
前端·vue.js
奔跑的蜗牛ing12 小时前
Vue3 + Element Plus 输入框省略号插件:零侵入式全局解决方案
vue.js·typescript·前端工程化
最后一个农民工14 小时前
vue3实现仿豆包模版式智能输入框
前端·vue.js
艾小码17 小时前
Vue组件到底怎么定义?全局注册和局部注册,我踩过的坑你别再踩了!
前端·javascript·vue.js
wusp199418 小时前
项目实战——“微商城”前后台【005】之前台项目首页编写
vue.js·vant·底部导航栏
雨落Liy18 小时前
Nginx 从入门到进阶:反向代理、负载均衡与高性能实战指南
运维·nginx·负载均衡
森林的尽头是阳光18 小时前
vue防抖节流,全局定义,使用
前端·javascript·vue.js
计算机毕业设计木哥18 小时前
计算机毕设选题推荐:基于Java+SpringBoot物品租赁管理系统【源码+文档+调试】
java·vue.js·spring boot·mysql·spark·毕业设计·课程设计