关于配置nginx 代理去掉location 匹配的上下文规则

news2024/11/24 2:46:33

事情是这样的,有个需求,就是在本系统准备把所有的api 请求放到webman 框架

然后把后台的业务依然保留在fastadmin 框架,

打算加一个反向代理,用同一个域名的加上一个访问后缀,放到到webman 服务,也就是本地的127.0.0.1:8787 端口

一开始的写法就是

这样的话访问http://**** /aaa的话就转发到 127.0.0.1:8787端口的aaa 目录,那我访问http://**** /bbb的话,就访问不到127.0.0.1:8787端口的bbb目录,因为我没有配置bbb 目录的代理,这样的话,我有多少个controller 就要配置多少个正则location才能去访问,那显然是不符合我的需求的,我要的是,访问http://**** /aaa 的话能转发到127.0.0.1:8787服务就可以,而不是到aaa目录,也就是说,我要想办法去掉这个location的匹配路径,于是乎我多番查找,终于让我找到

以下是参考文章

1. location和proxy_pass都带/去除

location ^~/api/ {
    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-NginX-Proxy true;

    proxy_pass http://api/;
}

http://api/ 的 api后面带/, 则会移除api这个上下文

这个办法,在宝塔报错,死活不行

2. rewrite去除

location ^~/api/ {
    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-NginX-Proxy true;

    rewrite ^/api/(.*)$ /$1 break;
    proxy_pass http://api;
}

http://api 的 api后面不带/, 通过rewrite移除api这个上下文

最后采用rewrite方法,这个好,终于解决了我的问题,可以去掉上下文,感恩

3. location带/, proxy_pass不带上下文去除

# 转发示例:
# 请求:http://aaa.com/system/path/request
# 转发:http://bbb.com/path/request
# 
location ^~ /system/  {
    proxy_pass http://bbb.com;
}

这个也不行,试过了

保留

1. location不带/, proxy_pass不带上下文保留

# 转发示例
# 请求:http://aaa.com/system/path/request
# 转发:http://bbb.com/system/path/request
# 
location ^~ /system {
    proxy_pass http://bbb.com;
}

参考文章地址:https://www.cnblogs.com/mengff/p/16788194.html

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

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

相关文章

mathtype中如何输入指示函数花体的 I

mathtype中如何输入花体的 I 问题描述解决办法 问题描述 写word文档时,借助mathtype敲公式,指示函数的花体I如何键入。 解决办法 1.编辑->插入符号 2.选择“Euclid Math Two”,里面有花体的各种字母。 3.成功。

新一代状态空间模型网络替代Transformer 综述

本文首先初步介绍了状态空间模型(SSM)的工作原理。然后,从多个方面回顾SSM的相关工作,包括SSM的起源和变化、自然语言处理、计算机视觉、图、多模态处理、多模态和多媒体、点云/事件流数据、时间序列数据等领域的相关工作。 此外…

vue3.0(三) Vite文件目录结构及SFC语法

文章目录 Vite介绍Vite文件目录结构SFC语法SFC 语法定义bug解决 Vite介绍 为什么使用Vite? 表现 与Vite的ESbuild预绑定使其比使用任何其他JS绑定器都快10到100倍。这是因为它有助于提高页面速度并将CommonJS/UMD模块转换为ESM。 基于Vite文件,“预绑定…

RabbitMQ中的交换机类型

交换机类型 可以看到,在订阅模型中,多了一个exchange角色,而且过程略有变化: Publisher:生产者,不再发送消息到队列中,而是发给交换机 Exchange:交换机,一方面&#xff…

【Linux】dlopen: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29‘ not found

[30116] Error loading Python lib /tmp/_MEIlvdUu6/libpython3.8.so.1.0: dlopen: /lib/x86_64-linux-gnu/libm.so.6: version GLIBC_2.29 not found (required by /tmp/_MEIlvdUu6/libpython3.8.so.1.0)1 cd到指定路径 cd /usr/local 2 下载 wget http://ftp.gnu.org/gnu/gl…

[NSSRound#23 misc] 前两题

这个周末NSS个人赛是个MISC,这个好久没怎么玩了,结果不会了。只作出一题来,不过参与的人比较少,每题解出数和也不到50。前50吧:) 画师 给了一个xml文件,看内容有 mxGraphModel 标签,应该是某个东西画的矢…

Qt Designer入门

安装 PyQt5提供了一个可视化图形工具Qt Designer,文件名为designer.exe。如果在电脑上找不到,可以用如下命令进行安装: pip install PyQt5-tools 安装完毕后,可在如下目录找到此工具软件: D:\Python3.9\Lib\site-pa…

【多态】有关多继承和菱形继承的多态

博主首页: 有趣的中国人 专栏首页: C进阶 其它专栏: C初阶 | 初阶数据结构 | Linux 博主会持续更新 本篇文章主要讲解 多继承和菱形继承的多态 的相关内容 文章目录 1. 回顾多态底层2. 抽象类2.1 概念2.2 接口继承和实现继承 3. 虚表所在…

运维的利器–监控–zabbix–第二步:建设–部署zabbix agent--windows server系统--agent客户端安装部署

第一步:下载windows agent软件 第一点:zabbix官网针对linux和window系统有两种不同的安装方式,其中:windows为tar压缩包,根据你zabbix server安装的版本,在官网下载同样版本的agent软件。 amd64&#xff…

Eclipse:-Dmaven.multiModuleProjectDirectory system propery is not set.

eclipse中使用maven插件的时候,运行run as maven build的时候报错 -Dmaven.multiModuleProjectDirectory system propery is not set. Check $M2_HOME environment variable and mvn script match. 可以设一个环境变量M2_HOME指向你的maven安装目录 M2_HOMED:\Apps\…

vcruntime140_1.dll无法继续执行代码怎么办,分享5种解决方法

在日常使用电脑进行各项任务操作时,用户可能会遇到一个令人困扰的问题:当尝试运行某款软件以推进工作或享受娱乐时,系统突然弹出错误提示,明确指出“由于找不到vcruntime140_1.dll,无法继续执行代码”。。这个问题可能…

城市公交查询系统的设计与实现(四)

目录 4 系统概要设计 4.1 概要设计的概论 4.2 架构设计 4.3 系统功能结构图及分析 4.3.1 系统功能结构图 4.3.2 系统基本功能 1.站点查询 2.公交线路查询 3.站—站的查询 4.在线提问 5.网站公告 6.登录功能 7.用户管理 8.线路维护 9.公告管理 …

【QT学习】UDP协议,广播,组播

一。Udp详细解释 UDP(User Datagram Protocol)是一种无连接的传输层协议,它提供了一种简单的、不可靠的数据传输服务。与TCP相比,UDP不提供可靠性、流量控制、拥塞控制和错误恢复等功能,但由于其简单性和低开销&#x…

在vue2中,什么是双向绑定,为什么vue3要进行优化?

一、什么是双向绑定 我们先从单向绑定切入单向绑定非常简单,就是把Model绑定到View,当我们用JavaScript代码更新Model时,View就会自动更新双向绑定就很容易联想到了,在单向绑定的基础上,用户更新了View,Mo…

# 使用 spring boot 时,@Autowired 注解 自动装配注入时,变量报红解决方法:

使用 spring boot 时,Autowired 注解 自动装配注入时,变量报红解决方法: 1、使用 Resource 代替 Autowired 注解,根据类型注入改为根据名称注入(建议)。 2、在 XXXMapper 上添加 Repository 注解&#xff0…

面向对象编程三大特征:封装、继承、多态

封装、继承、多态 1. 封装 1.1 介绍 封装(encapsulation)就是把抽象出的数据 [属性] 和对数据的操作 [方法] 封装在一起,数据被保护在内部,程序的其它部分只有通过被授权的操作 [方法] ,才能对数据进行操作。 1.2 封装的理解和好处 1) 隐藏实现细节:方法(连接数据库)<…

Stable Diffusion 模型分享:Counterfeit-V3.0(动漫)

本文收录于《AI绘画从入门到精通》专栏&#xff0c;专栏总目录&#xff1a;点这里&#xff0c;订阅后可阅读专栏内所有文章。 文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八 下载地址 模型介绍 高质量动漫风格模型。 条目内容类型大模型基础模…

(十三)Servlet教程——Servlet中Cookie的使用

1.什么是Cookie Cookie意为甜饼&#xff0c;最早由Netscape社区发展的一种机制。目前Cookie已经成为标准&#xff0c;所有的主流浏览器都支持Cookie。 由于HTTP是一种无状态的协议&#xff0c;服务器仅从网络连接上无法知道客户身份。于是就客户端颁发一个通行证&#xff0c;无…

SpringBoot框架学习笔记(一):依赖管理和自动配置

本文为个人笔记&#xff0c;仅供学习参考之用&#xff0c;如有不当之处请指出。 本文基于springboot2.5.3版本&#xff0c;开发环境需要是 jdk 8 或以上&#xff0c;maven 在 3.5 1 SpringBoot 基本介绍 1.1 官方文档 &#xff08;1&#xff09; 官网 : https://spring.io/pr…

虚函数表与虚函数表指针

虚函数表与虚函数表是用来实现多态的&#xff0c;每一个类只有一个虚函数表 静态多态&#xff1a;函数重载&#xff08;编译期确定&#xff09; 动态多态&#xff1a;虚函数&#xff08;运行期确定&#xff09; 虚函数表的创建时机&#xff1a; 生成时间&#xff1a; 编译期…