Nginx(十五) proxy_pass和proxy_redirect指令的组合测试

Nginx反向代理配置文件参数详解请参考 Nginx(十三) 配置文件详解 - 反向代理(超详细)

测试1:proxy_redirect  http://127.0.0.1:8080/three/  http://www.read*******l.cn:8688/four/;

http {server {listen 8688;server_name www.read*******l.cn;location /one/ {proxy_pass  http://127.0.0.1:8080/two/;proxy_redirect  http://127.0.0.1:8080/three/  http://www.read*******l.cn:8688/four/;}}server {listen 8080;server_name www.read*******l.cn;location /two/ {return  301  http://127.0.0.1:8080/three/world;}}
}

客户端发送请求:http://www.read*******l.cn:8688/one/hello

客户端最终请求:http://www.read*******l.cn:8688/four/world

测试2:proxy_redirect  http://127.0.0.1:8080/three/   /four/;

http {server {listen 8688;server_name www.read*******l.cn;location /one/ {proxy_pass  http://127.0.0.1:8080/two/;proxy_redirect  http://127.0.0.1:8080/three/  /four/;}}server {listen 8080;server_name www.read*******l.cn;location /two/ {return  301  http://127.0.0.1:8080/three/world;}}
}

客户端发送请求:http://www.read*******l.cn:8688/one/hello

客户端最终请求:http://www.read*******l.cn:8688/four/world

proxy_redirect  http://127.0.0.1:8080/three/  /four/;

相当于

proxy_redirect  http://127.0.0.1:8080/three/  http://www.read*******l.cn:8688/four/;

测试3:proxy_redirect  http://127.0.0.1:8688/three/  /;

http {server {listen 8688;server_name www.read*******l.cn;location /one/ {proxy_pass  http://127.0.0.1:8080/two/;proxy_redirect  http://127.0.0.1:8080/three/  /;}}server {listen 8080;server_name www.read*******l.cn;location /two/ {return  301  http://127.0.0.1:8080/three/world;}}
}

客户端发送请求:http://www.read*******l.cn:8688/one/hello

客户端最终请求:http://www.read*******l.cn:8688/world

测试4:proxy_redirect  default;

http {server {listen 8688;server_name www.read*******l.cn;location /one/ {proxy_pass  http://127.0.0.1:8080/two/;proxy_redirect  default;}}server {listen 8080;server_name www.read*******l.cn;location /two/ {return  301  http://127.0.0.1:8080/three/world;}}
}

客户端发送请求:http://www.read*******l.cn:8688/one/hello

客户端最终请求:http://127.0.0.1:8080/three/world

测试5:proxy_redirect  default;

http {server {listen 8688;server_name www.read*******l.cn;location /one/ {proxy_pass  http://127.0.0.1:8080/two/;proxy_redirect  default;}}server {listen 8080;server_name www.read*******l.cn;location /two/ {return  301  http://127.0.0.1:8080/two/world;}}
}

客户端发送请求:http://www.read*******l.cn:8688/one/hello

客户端最终请求:http://www.read*******l.cn:8688/one/world

根据测试4和测试5的结果可得出以下结论

        当proxy_redirect配置为default时,如果proxy_pass 的URL与响应头中Location字段的URL 部分内容完全匹配,则用server_name、listen port和当前location的URI组合替换掉Location中与proxy_pass相匹配的部分。

        proxy_pass相当于是 proxy_redirect redirect replacement 中的 redirect 参数,

        server_name + listen port + 当前location的URI 组合起来相当于 proxy_redirect redirect replacement 中的 replacement 参数。

测试6:proxy_redirect  off;

http {server {listen 8688;server_name www.read*******l.cn;location /one/ {proxy_pass  http://127.0.0.1:8080/two/;proxy_redirect  off;}}server {listen 8080;server_name www.read*******l.cn;location /two/ {return  301  http://127.0.0.1:8080/three/world;}}
}

客户端发送请求:http://www.read*******l.cn:8688/one/hello

客户端最终请求:http://127.0.0.1:8080/three/world

测试7:proxy_redirect  off;

http {server {listen 8688;server_name www.read*******l.cn;location /one/ {proxy_pass  http://127.0.0.1:8080/two/;proxy_redirect  off;}}server {listen 8080;server_name www.read*******l.cn;location /two/ {return  301  http://127.0.0.1:8080/two/world;            # 与测试5的区别之处}}
}

客户端发送请求:http://www.read*******l.cn:8688/one/hello

客户端最终请求:http://127.0.0.1:8080/two/world

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

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

相关文章

Ps:亮度蒙版 - 混合颜色带方法

所谓“亮度蒙版”,就是根据图像的明暗程度进行选区并建立蒙版,这样便于对图像上进行分级调色。 Photoshop 支持众多的第三方亮度蒙版插件。如,TKActions、Lumenzia、ADP Pro、Raya Pro、LIM、EasyPanel、Introducing InstaMask等等。如此多的…

【C语言】Windows上用GTK写GUI程序

要使用GTK开发一个Windows图形用户界面程序,需要首先设置GTK开发环境。这通常包括安装GTK库和它的依赖,以及配置编译器和工具链。可以选择使用纯C语言和GTK库或者使用支持GTK绑定的其他语言,如Python、C或Rust。 1. 安装GTK开发库 在Window…

JVM 常用知识和面试题

1. 什么是JVM内存结构? jvm将虚拟机分为5大区域,程序计数器、虚拟机栈、本地方法栈、java堆、方法区; 程序计数器:线程私有的,是一块很小的内存空间,作为当前线程的行号指示器,用于记录当前虚拟…

阿里云服务器开放端口Oracle 1521方法教程

阿里云服务器ECS端口是在安全组设置的,Oracle数据库1521端口号开放是在安全组中添加规则来实现的,阿里云服务器网aliyunfuwuqi.com来详细说下阿里云服务器开放Oracle 1521端口方法教程: 阿里云服务器开放Oracle 1521端口 在阿里云服务器ECS…

2023年“中银杯”安徽省网络安全B模块(部分解析)

前言 以下是2023年中银杯安徽省网络安全B模块题目,镜像可以私聊我 B模块安全事件响应/网络安全数据取证/应用安全(400 分) B-1:CMS网站渗透测试 任务环境说明: √服务器场景:Server2206(关…

echarts手动触发气泡的显示和隐藏

点击echarts图表后将点击的那个进行突出显示 <template><div id"demo"> </div><el-button type"primary" click"set">设置</el-button><el-button type"primary" click"cancel">取消&…

阶段十-分布式-nginx服务器

一、Nginx简介 Nginx 是高性能的 HTTP 和反向代理的服务器&#xff0c;处理高并发能力是十分强大的&#xff0c;能经受高负载的考验,有报告表明能支持高达 50,000 个并发连接数。tomcat并发数量理论值是500&#xff0c;实际也就300左右。 1.2 正向代理 正向代理代理的是客户…

【zookeeper选举源码分析】

文章目录 为什么要看源码&#xff1a; 1、提升技术功底&#xff1a;学习源码里的优秀设计思想&#xff0c;比如一些疑难问题的解决思路&#xff0c;还有一些优秀的设计模式&#xff0c;整体提升自己的技术功底 2、深度掌握技术框架&#xff1a;源码看多了&#xff0c;对于一个新…

【Matlab】LSTM长短期记忆神经网络时序预测算法

资源下载&#xff1a; https://download.csdn.net/download/vvoennvv/88688439 一&#xff0c;概述 LSTM&#xff08;Long Short-Term Memory&#xff09;是一种常用的循环神经网络&#xff08;Recurrent Neural Network&#xff0c;RNN&#xff09;结构&#xff0c;由于其对于…

决策树模型

决策书就是一种树状的模型&#xff0c;可以用来做分类和回归。这种分类方式很好理解&#xff0c;相当于分岔路一样&#xff0c;满足某一个条件就走对应的道路&#xff0c;然后抵达不同的终点。决策树有很多类型&#xff0c;基本的有ID3决策树&#xff0c;C4.5决策树&#xff0c…

自动驾驶论文

文章目录 一、Convolutional Social Pooling for Vehicle Trajectory Prediction二、QCNet&#xff1a;Query-Centric Trajectory Prediction三、VectorNet: Encoding HD Maps and Agent Dynamics from Vectorized Representation 一、Convolutional Social Pooling for Vehicl…

Mysql基础总结

一、MySql基础 MySQL常见面试题 一、索引相关 &#xff08;1&#xff09;什么是索引? 索引是一种数据结构&#xff0c;可以帮助我们快速的进行数据的查找。 &#xff08;2&#xff09;索引是个什么样的数据结构呢? 索引的数据结构和具体存储引擎的实现有关&#xff0c;…