使用nginx实现一个端口和ip访问多个vue前端

news2024/11/24 18:46:05

前言:由于安全组要求,前端页面只开放一个端口,但是项目有多个前端,此前一直使用的是一个前端使用单独一个端口进行访问,现在需要调整。

需要实现:这里以80端口为例,两个前端分别是:project1,project2。

例如:访问项目1:192.168.1.10:80/project1

访问项目2:192.168.1.10:80/project2

需要的配置:1、nginx配置;2、vue前端代码修改

1、nginx配置

server {
        listen       80;
        server_name  localhost;
        charset utf-8;
        
        # 配置默认访问前端
        location / {
            root /usr/local/html/project1/dist/;
            index index.html index.htm;
            try_files $uri $uri/ /index.html;
        }
        
        # 项目2前端
        location /project2{
            alias /usr/local/html/project2/dist/;
            index index.html;
            try_files $uri $uri/ /project2/index.html;
        }

        # 项目1前端
        location /project1{
            alias /usr/local/html/project1/dist/;
            index index.html;
            try_files $uri $uri/ /project1/index.html;
        }

        # 项目1-api接口地址代理
        location /project1-prod-api/ {
            if ($request_method = OPTIONS ) {
               add_header Access-Control-Allow-Origin *;
               add_header Access-Control-Allow-Methods GET,POST,PUT,DELETE,OPTIONS;
               add_header Access-Control-Allow-Headers *;
               return 200;
            }
            proxy_redirect off;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_buffer_size 128k;
            proxy_buffers 32 32k;
            proxy_busy_buffers_size 128k;

            proxy_pass http://192.168.1.10:8080/;
        }

        # 项目2-api接口地址代理
        location /project2-prod-api/ {
            if ($request_method = OPTIONS ) {
               add_header Access-Control-Allow-Origin *;
               add_header Access-Control-Allow-Methods GET,POST,PUT,DELETE,OPTIONS;
               add_header Access-Control-Allow-Headers *;
               return 200;
            }
            proxy_redirect off;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_buffer_size 128k;
            proxy_buffers 32 32k;
            proxy_busy_buffers_size 128k;

            proxy_pass http://192.168.1.10:8081/;
        }
}

2、vue前端代码修改

两个项目的vue代码均要修改

修改文件:在项目根目录:.env.production

# 页面标题
VUE_APP_TITLE = 某某平台

# 生产环境配置
ENV = 'production'

# 生产环境
VUE_APP_BASE_API = '/project1-prod-api'

在项目根目录:vue.config.js

修改publicPath参数

3、验证修改

重新打包构建vue前端代码,修改nginx配置,并重启nginx,防火墙允许nginx配置的端口。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1943621.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[用AI日进斗金系列]用码上飞在企微接单开发一个项目管理系统!

今天是【日进斗金】系列的第二期文章。 先给不了解这个系列的朋友们介绍一下,在这个系列的文章中,我们将会在企微的工作台的“需求发布页面”中寻找有软件开发需求的用户 并通过自研的L4级自动化智能软件开发平台「码上飞CodeFlying」让AI生成应用以解…

可以免费合并pdf的软件 合并pdf文件的软件免费 合并pdf的软件免费

在数字化办公的今天,pdf格式因其稳定性和跨平台兼容性被广泛使用。然而,当我们需要将多个 pdf 文件合并为一个时,却往往感到力不从心。本文将为你介绍几款强大的pdf文件合并软件,让你轻松管理文档。 方法一、使用pdf转换器 步骤1…

Vue3 对比 Vue2

相关信息简介2020年9月18日,Vue.js发布3.0版本,代号:One Piece(海贼王) 2 年多开发, 100位贡献者, 2600次提交, 600次 PR、30个RFC Vue3 支持 vue2 的大多数特性 可以更好的支持 Typescript,提供了完整的…

亚马逊跟卖北美选品ERP操作注意事项,商标自动查询,可...

新手在美国站选品有哪几种方式呢?美国商标局复查未备案准确度100%。 今天来讲下美国品牌未备案准不准确。 点开采集任务,站点选择美国,有五种采集方式:关键词、店铺链接、类目asin,选择完之后点确定。 选择asin采集…

【Docker】Docker-consul容器服务自动发现与注册

目录 一.Consul概述 1.解决了什么问题 2.什么叫微服务或者注册与发现 3.consul的模式 4.相关命令 二.consul 部署 1.consul服务器部署 2.部署docker容器 3.Nginx负载均衡器 3.1.安装启动nginx 3.2.配置nginx负载均衡 3.3.创建配置consul complate模板文件 3.4.添加…

只需三步,即可使用 Kafka 托管服务快速部署微服务架构应用

微服务架构的应用程序的特点是将其组件组织得能够独立地进行开发、测试、部署和扩展。DigitalOcean App Platform(应用平台)的目标是通过允许用户在同一应用上添加多个组件,简化这一架构模型,使其更加平滑和易于管理。 一个简单的…

【Zotero插件】Zotero Tag为文献设置阅读状态 win11下相关设置

【Zotero插件设置】Zotero Tag为文献设置阅读状态 win11下相关设置 1.安装Zotero Tag1.1安装1.2配置1.3 win11的相关设置1.3.1 字体安装 参考教程 2.支持排序的标注参考教程 1.安装Zotero Tag 1.1安装 Zotero Tag插件下载链接安装方法:Zotero–》工具–》附加组件…

day1 测试基础知识

1. 阐述软件生命周期都有哪些阶段?常见的软件生命周期模型有哪些? 2.常见测试模型有哪些? 参考链接:系统测试中的W模型---测试和开发相结合_开发和测试同时进行-CSDN博客 V模型 W模型(测试与开发并行) …

【ROS2】高级:安全-部署指南

目标:了解将安全工件部署到生产系统时的最佳实践。 教程级别:高级 时间:20 分钟 内容 背景 先决条件 一般准则构建部署场景 生成 Docker 镜像理解 compose 文件 运行示例 检查容器 背景 典型的部署场景通常涉及将容器化的应用程序或软件包发送…

高校体育场小程序的设计

管理员账户功能包括:系统首页,个人中心,状态管理,学生管理,用户管理,体育场管理,用户订单管理,学生订单管理,评价信息管理,交流论坛,系统管理 微…

4 种在 Windows 11/10/8/7 上恢复永久删除文件的可靠方法

您是否在 Windows 11/10/8/7 中从桌面永久删除了重要文件?当您不小心删除文件然后意识到以后需要它们时,这可能是一个真正的痛苦。但别担心,您可以使用多种方法从Windows PC恢复永久删除的文件。在这篇博文中,我们将为您提供 4 种…

机器学习 | 回归算法原理——最小二乘法

Hi,大家好,我是半亩花海。很早便想学习并总结一本很喜欢的机器学习图书——立石贤吾的《白话机器学习的数学》,可谓通俗易懂,清晰形象。那就在此分享并作为学习笔记来记录我的学习过程吧!本章的回归算法原理基于《基于…

Flutter Hive NoSql 数据库使用指南

Flutter Hive NoSql 数据库使用指南 视频 https://www.bilibili.com/video/BV1yJ4m1u7P2/ https://youtu.be/UJobRKdp68k 前言 原文 https://ducafecat.com/blog/flutter-hive-nosql-guide 本文将会写一个 Hive CURD 的例子,详细介绍 Hive 这个轻量级的 Flutter …

解决element-plus的Date Picker日期选择器组件禁用时间的坑

目前需求是有一个表单,其中有多个日期组件需要选择时间范围,并且选择的范围不可以有交集重复,所以这里需要用到Date Picker中的disabled-date属性,来判断该日期是否被禁用。 直接上代码,这个是我写的demo代码&#xf…

基于IEKF迭代扩展卡尔曼滤波算法的数据跟踪matlab仿真,对比EKF和UKF

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 基于IEKF迭代扩展卡尔曼滤波算法的数据跟踪matlab仿真,对比EKF和UKF.仿真输出误差收敛曲线和误差协方差收敛曲线。 2.测试软件版本以及运行结果展示 MATLAB2022…

社交圈子聊天交友系统搭建社交app开发:陌生交友发布动态圈子单聊打招呼群聊app介绍

系统概述 社交圈子部天交友系统是一个集成即时通讯、社区互动、用户管理等功能的在线社交平台。它支持用户创建个人资料,加入兴趣围子,通过文字、图片、语音、视频等多种方式进行交流,满足用户在不同场景下的社交需求 核心功能 -,…

leetcode日记(46)最后一个单词的长度

很简单,从后往前遍历即可 class Solution { public:int lengthOfLastWord(string s) {int len0;for(int is.size()-1;i>0;i--){if(s[i]! ) len;else if(len!0) break;}return len;} };

Vision Permutator(TPAMI 2022)论文与代码解析

paper:Vision Permutator: A Permutable MLP-Like Architecture for Visual Recognition official implementation:https://github.com/houqb/VisionPermutator 出发点 现有的MLP模型在编码空间信息时通常会将空间维度展开并沿着展平的维度进行线性投…

《Java初阶数据结构》----3.<线性表---LinkedList与链表>

目录 前言 一、链表的简介 1.1链表的概念 1.2链表的八种结构 重点掌握两种 1.3单链表的常见方法 三、单链表的模拟实现 四、LinkedList的模拟实现(双链表) 4.1 什么是LinkedList 4.2LinkedList的使用 五、ArrayList和LinkedList的区别 前言 …

无法连接到internet怎么办?已连接但无internet访问,其实并不难

有时我们会遇到无法连接到Internet的问题,由多种原因引起,包括硬件故障、软件设置问题、网络供应商故障等。本文将介绍无法连接到Internet时可以采取的步骤。 简述 当你无法连接到Internet时,可以按照以下步骤进行检查和解决: 1…