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

事情是这样的,有个需求,就是在本系统准备把所有的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.hqwc.cn/news/661380.html

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

相关文章

Spring Security介绍(三)过滤器(2)自定义

除了使用security自带的过滤器链,我们还可以自定义过滤器拦截器。 下面看下自定义的和security自带的执行顺序。 一、总结 1、自定义过滤器: 一般自定义fliter都是: import lombok.extern.slf4j.Slf4j; import org.springframework.ster…

3.C++动态内存管理(超全)

目录 1 .C/C 内存分布 2. C语言中动态内存管理方式:malloc/calloc/realloc/free 3. C内存管理方式 3.1 new/delete操作内置类型 3.2 new和delete操作自定义类型 3.3 operator new函数 3.4 定位new表达式(placement-new) (了解) 4. 常…

nginx配置ip_hash负载均衡策略

一、nginx配置ip_hash负载均衡策略 nginx默认的负载均衡策略为轮询,某些场景需要使用ip_hash负载策略,即:同一个ip地址,永远访问nginx后面同一台tomcat。配置示例如下,主要是设置ip_hash: upstream www.ab…

【PCB专题】案例:PCB出货报告会体现什么信息?

不知道在实际的生活中大家有没有拿到一个设备或东西看用户手册的习惯。比如拿到一个电风扇看一下说明书怎么使用,怎么安装,怎么做维护等。 一般情况下我拿到东西会先抽一点时间看一下用户手册学习如何使用,如果说明书比较重要的话会保留起来。本文章其实就是PCB打样后供应商…

ES集群分布式查询原理

集群分布式查询 elasticsearch的查询分成两个阶段: scatter phase:分散阶段,coordinating node会把请求分发到每一个分片gather phase:聚集阶段,coordinating node汇总data node的搜索结果,并处理为最终结…

Avalonia .NET构建Linux桌面应用

目录 👻前言 💻安装Avalonia 📦创建项目 📚在win下运行 ​🔑打包发布​编辑 📻在linux下运行 环境WIN10 VS2022 debian 👻前言 Avalonia 是一个用于创建跨平台用户界面 (UI) 的开源框架…

QT之信号和槽

在刚刚了解Qt的时候,为了通过按钮显示 hello world 的时候曾说明过信号与槽,虽然没有细说,不过也算是接触过。 而本文就会细细说明什么是 Qt 的信号与槽。 概念初识 在 linux 学进程相关的内容的时候,曾了解过信号是操作系统控…

数据仓库和数据仓库分层

一、数据仓库概念 数据仓库(Data Warehouse),可简写为DW或DWH。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决策支持目的而创建。 为需要业务智能的企业&#…

基于STC12C5A60S2系列1T 8051单片机的Proteus中的单片机发送一帧或一串数据给串口调试助手软件接收区显示出来的串口通信应用

基于STC12C5A60S2系列1T 8051单片机的Proteus中的单片机发送一帧或一串数据给串口调试助手软件接收区显示出来的串口通信应用 STC12C5A60S2系列1T 8051单片机管脚图STC12C5A60S2系列1T 8051单片机串口通信介绍STC12C5A60S2系列1T 8051单片机串口通信的结构基于STC12C5A60S2系列…

动手学深度学习3.6 softmax回归的从零开始实现-笔记练习(PyTorch)

以下内容为结合李沐老师的课程和教材补充的学习笔记,以及对课后练习的一些思考,自留回顾,也供同学之人交流参考。 本节课程地址:Softmax 回归从零开始实现_哔哩哔哩_bilibili 本节教材地址:3.6. softmax回归的从零开…

【最大公约数 排序】2344. 使数组可以被整除的最少删除次数

本文涉及知识点 最大公约数 排序 LeetCode2344. 使数组可以被整除的最少删除次数 给你两个正整数数组 nums 和 numsDivide 。你可以从 nums 中删除任意数目的元素。 请你返回使 nums 中 最小 元素可以整除 numsDivide 中所有元素的 最少 删除次数。如果无法得到这样的元素&a…

讯饶科技 X2Modbus 敏感信息泄露

讯饶科技 X2Modbus 敏感信息泄露 文章目录 讯饶科技 X2Modbus 敏感信息泄露漏洞描述影响版本实现原理漏洞复现修复建议 漏洞描述 X2Modbus是一款功能很强大的协议转换网关, 这里的X代表各家不同 的通信协议,2是To的谐音表示转换,Modbus就是最…