nginx https 一个端口代理多个前端项目

 打包修改
!!!注意:第一个location root 调用的项目不用修改 打包路径,直接用 ‘/’,其他项目或者需加 /mobile 路径


worker_processes  1;
events {worker_connections  1024;
}
http {include       mime.types;default_type  application/octet-stream;sendfile        on;keepalive_timeout  65;
//后端接口upstream backServer {server 10.0.0.249:8001  max_fails=5 fail_timeout=15s weight=1;keepalive 256;}server {listen       8004 ssl;server_name  localhost;ssl_certificate      /usr/local/nginx/conf/cert/lingyiitech.com.pem;ssl_certificate_key  /usr/local/nginx/conf/cert/lingyiitech.com.key;ssl_session_timeout 5m;ssl_protocols TLSv1.2;ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;ssl_prefer_server_ciphers on;charset utf-8;
//PC主项目location / {root    /www/ck-study/pc/dist;index   index.html index.htm;} 
//移动端副项目location /mobile {alias  /www/ck-study/mobile/dist/;try_files $uri $uri/ /dist/index.html/;index index.html index.htm;}
//文件代理location /file/ {alias  /www/ck-study/ck-file/;autoindex on;                         # 启用自动首页功能autoindex_format html;                # 首页格式为HTMLautoindex_exact_size off;             # 文件大小自动换算autoindex_localtime on;               # 按照服务器时间显示文件时间default_type application/octet-stream;  # 将当前目录中所有文件的默认MIME类型设置为sendfile on;                          # 开启零复制文件传输功能sendfile_max_chunk 1m;                # 每个sendfile调用的最大传输量为1MBtcp_nopush on;                        # 启用最小传输限制功能directio 5m;                          # 当文件大于5MB时以直接读取磁盘的方式读取文件directio_alignment 4096;              # 与磁盘的文件系统对齐output_buffers 4 32k;                 # 文件输出的缓冲区大小为128KBmax_ranges 4096;                      # 客户端执行范围读取的最大值是4096Bsend_timeout 20s;                     # 客户端引发传输超时时间为20spostpone_output 2048;                 # 当缓冲区的数据达到2048B时再向客户端发送chunked_transfer_encoding on;         # 启用分块传输标识}
//API接口代理location /api/ {proxy_connect_timeout   18000;proxy_send_timeout      18000;proxy_read_timeout      18000;root    html;index   index.html index.htm;proxy_pass http://backServer;add_header Cache-Control no-cache;add_header Pragma no-cache;}}
}

移动端配置要

location:配置url路径匹配关系,这里配置 /mobile 就是定义了一个标识,在有多个vue服务时,可以做区分
alias:指定静态文件目录的根路径
index:指令用于指定在请求的URL中未指定文件名时要使用的默认文件名
try_files:意思是优先根据浏览器输入的文件路径进行查找,如果找不到重定向到index.html文件
 

针对副项目 vue打包时要加一个    base: env.VITE_MODE === 'production' ? '/mobile' : '/',

import { defineConfig, loadEnv } from 'vite'
import vue from '@vitejs/plugin-vue'
import path from 'path'
export default defineConfig(({ mode }) => {const env = loadEnv(mode, __dirname)return {plugins: [vue()],base: env.VITE_MODE === 'production' ? '/mobile' : '/',resolve: {alias: {'@': path.resolve(__dirname, 'src'),}},css: {// 全局样式配置preprocessorOptions: {scss: {additionalData: `@import "@/assets/base.scss";`,},less: {additionalData: `@import "@/assets/base.less";`,}}},build: {sourcemap: false, // 不生成 source map terserOptions: { compress: { // 打包时清除 console 和 debug 相关代码drop_console: true,drop_debugger: true,},},},server: {host: 'localhost',port: '8080',open: true, proxy: {'/api': {target: env.VITE_URL, changeOrigin: true, ws: true, // 支持 websocketrewrite: (path) => path.replace(/^\/api/, '') // 路径重写}}}}
})

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

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

相关文章

K8S集群中PLEG问题排查

一、背景 k8s集群排障真的很麻烦 今天集群有同事找我,节点报 PLEG is not healthy 集群中有的节点出现了NotReady,这是什么原因呢? 二、kubernetes源码分析 PLEG is not healthy 也是一个经常出现的问题 POD 生命周期事件生成器 先说下PL…

for for in for of 的区别

for是JavaScript中最基本的循环语句,它可以用于遍历数组和对象中的元素,语法如下: for (初始化; 判断条件; 增量) {// 循环体 }其中,初始化是循环开始前执行的语句,判断条件是判断循环是否可以继续的条件,…

Pybullet -------[ 1 ]

1. p.addUserDebugText() 这个函数允许在仿真环境中动态添加文本,用于调试和可视化。你可以指定文本的内容、位置、颜色、大小等属性。 p.addUserDebugText(text, textPosition, textColorRGB[1,1,1], textSize1, lifeTime0, parentObjectUniqueId0,parentLinkInde…

机器视觉双目测宽仪具体有什么优势?

双目测宽仪是机器视觉原来制造而成的智能宽度检测设备,广泛应用于板材类产品的宽度检测。通过测宽仪的使用,实时了解产品宽度品质,进行超差提示,减少废品的生产。 双目测宽仪优势 测量软件界面显示:产品规格、标称宽…

MATLAB算法实战应用案例精讲-【图像处理】FPGA

目录 前言 算法原理 FPGA 是什么 FPGA的定义以及和GPU的类比 FPGA 有什么用 1)通信领域

Android控件全解手册 - 任意View缩放平移工具-源码

Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总游戏脚本-辅助自动化Android控件全解手册再战Android系列Scratch编程案例软考全系列Unity3D学习专栏蓝桥系列ChatGPT和AIGC 👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分…

详细介绍如何使用 PaddleOCR 进行光学字符识别-(含源码及讲解)

阅读巨大的文档可能会非常累并且非常耗时。您一定见过许多软件或应用程序,只需单击图片即可从文档中获取关键信息。这是通过一种称为光学字符识别 (OCR) 的技术来完成的。光学字符识别是近年来人工智能领域的重点研究之一。光学字符识别是通过理解和分析图像的基本模式来识别图…

竞赛选题 题目:基于机器视觉的图像矫正 (以车牌识别为例) - 图像畸变校正

文章目录 0 简介1 思路简介1.1 车牌定位1.2 畸变校正 2 代码实现2.1 车牌定位2.1.1 通过颜色特征选定可疑区域2.1.2 寻找车牌外围轮廓2.1.3 车牌区域定位 2.2 畸变校正2.2.1 畸变后车牌顶点定位2.2.2 校正 7 最后 0 简介 🔥 优质竞赛项目系列,今天要分享…

yolov8-pose姿势估计,站立识别

系列文章目录 基于yolov8-pose的姿势估计模式,实现站姿,坐姿,伏案睡姿识别,姿态动作识别接口逻辑作参考。本文以学习交流,分享,欢迎留言讨论优化。 yoloPose-姿势动作识别 系列文章目录前言一、环境安装二、使用yolov8-pose1.导入模型,预测图像三.姿势动作识别之站立总…

unity实时保存对象的位姿,重新运行程序时用最后保存的数据给物体赋值

using UnityEngine; using System.IO; // using System.Xml.Serialization; public class SaveCoordinates : MonoBehaviour {public GameObject MainObject;//读取坐标private float x;private float y;private float z;private Quaternion quaternion;private void Start(){/…

如何使用torchrun启动单机多卡DDP并行训练

如何使用torchrun启动单机多卡DDP并行训练 这是一个最近项目中需要使用的方式,新近的数据集大概在40w的规模,而且载入的原始特征都比较大(5~7M),所以准备尝试DistributedDataParallel; 主要目…

Qt 自定义标题栏

在Qt中,如果你想要自定义窗口的标题栏,你可以通过覆盖窗口的windowTitleChanged信号来实现。然而,直接修改Qt的标题栏可能会带来一些问题,因为Qt的设计是尽量使窗口系统的行为标准化。 以下是一个基本的示例,如何在Qt…

Java中的集合

Java中的集合 java.util 包中的集合 Java 集合框架提供了各种集合类,用于存储和管理对象。以下是 Java 集合框架中常见的集合类: List 接口表示一个有序的集合,其中的元素可以重复。List 接口有以下实现类: ArrayList&#xff1…

人工智能_机器学习053_支持向量机SVM目标函数推导_SVM条件_公式推导过程---人工智能工作笔记0093

然后我们再来看一下支持向量机SVM的公式推导情况 来看一下支持向量机是如何把现实问题转换成数学问题的. 首先我们来看这里的方程比如说,中间的黑线我们叫做l2 那么上边界线我们叫l1 下边界线叫做l3 如果我们假设l2的方程是上面这个方程WT.x+b = 0 那么这里 我们只要确定w和…

<Linux> 文件理解与操作

目录 前言: 一、关于文件的预备知识 二、C语言文件操作 1. fope 2. fclose 3. 文件写入 3.1 fprintf 3.2 snprintf 三、系统文件操作 1. open 2. close 3. write 4. read 四、C文件接口与系统文件IO的关系 五、文件描述符 1. 理解文件描述符 2. 文…

时延抖动和通信的本质

先从网络时延抖动的根源说起。 信息能否过去取决于信道容量,而信道利用率则取决于编码。这是香农定律决定的。 考虑到主机处理非常快,忽略处理时延,端到端时延就是信息传播时延,但现实中通信信道利用率非常不均匀,统…

一则 MongoDB 副本集迁移实操案例

文中详细阐述了通过全量 增量 Oplog 的迁移方式,完成一套副本集 MongoDB 迁移的全过程。 作者:张然,DBA 数据库技术爱好者~ 爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。 本文约 900…

python炒股自动化(1),量化交易接口区别

要实现股票量化程序化自动化,就需要券商提供的API接口,重点是个人账户小散户可以申请开通,上手要简单,接口要足够全面,功能完善,首先,第一步就是要找对渠道和方法,这里我们不讨论量化…

linux 内核等待队列

等待队列在Linux内核中用来阻塞或唤醒一个进程,也可以用来同步对系统资源的访问,还可以实现延迟功能 在软件开发中任务经常由于某种条件没有得到满足而不得不进入睡眠状态,然后等待条件得到满足的时候再继续运行,进入运行状态。这…

网络安全--基于Kali的网络扫描基础技术

文章目录 1. 标准ICMP扫描1.1使用Ping命令1.1.1格式1.1.2实战 1.2使用Nmap工具1.2.1格式1.2.2实战1.2.2.1主机在线1.2.2.2主机不在线 1.3使用Fping命令1.3.1格式1.3.2实战 2. 时间戳查询扫描2.1格式2.2实战 3. 地址掩码查询扫描3.1格式3.2实战 2. TCP扫描2.1TCP工作机制2.2TCP …