nginx 正则 结尾 配置_nginx配置proxy_pass中url末尾带/与不带/的区别详解
nginx配置proxy_pass时url末尾带“/”与不带“/”的区别如下:
注意:当location为正则表达式匹配模式时,proxy_pass中的url末尾是不允许有"/"的,因此正则表达式匹配模式不在讨论范围内。
proxy_pass配置中url末尾带/时,nginx转发时,会将原uri去除location匹配表达式后的内容拼接在proxy_pass中url之后。
测试地址:http://192.168.171.129/test/tes.jsp
场景一:
location ^~ /test/ {
proxy_pass http://192.168.171.129:8080/server/;
}
代理后实际访问地址:http://192.168.171.129:8080/server/tes.jsp
场景二:
location ^~ /test {
proxy_pass http://192.168.171.129:8080/server/;
}
代理后实际访问地址:http://192.168.171.129:8080/server//tes.jsp
场景三:
location ^~ /test/ {
proxy_pass http://192.168.171.129:8080/;
}
代理后实际访问地址:http://192.168.171.129:8080/tes.jsp
场景四:
location ^~ /test {
proxy_pass http://192.168.171.129:8080/;
}
代理后实际访问地址:http://192.168.171.129:8080//tes.jsp
proxy_pass配置中url末尾不带/时,如url中不包含path,则直接将原uri拼接在proxy_pass中url之后;如url中包含path,则将原uri去除location匹配表达式后的内容拼接在proxy_pass中的url之后。
测试地址:http://192.168.171.129/test/tes.jsp
场景一:
location ^~ /test/{
proxy_pass http://192.168.171.129:8080/server;
}
代理后实际访问地址:http://192.168.171.129:8080/servertes.jsp
场景二:
location ^~ /test {
proxy_pass http://192.168.171.129:8080/server;
}
代理后实际访问地址:http://192.168.171.129:8080/server/tes.jsp
场景三:
location ^~ /test/ {
proxy_pass http://192.168.171.129:8080;
}
代理后实际访问地址:http://192.168.171.129:8080/test/tes.jsp
场景四:
location ^~ /test {
proxy_pass http://192.168.171.129:8080;
}
代理后实际访问地址:http://192.168.171.129:8080/test/tes.jsp
到此这篇关于nginx配置proxy_pass中url末尾带/与不带/的区别详解的文章就介绍到这了,更多相关nginx proxy_pass url末尾内容请搜索随便开发网以前的文章或继续浏览下面的相关文章希望大家以后多多支持随便开发网!
nginx 正则 结尾 配置_nginx配置proxy_pass中url末尾带/与不带/的区别详解相关推荐
- [ASP.NET]ASP.NET中的Inherits、CodeFile、CodeBehind的区别详解及OWIN及IDENTITY
篇一 : ASP.NET中的Inherits.CodeFile.CodeBehind的区别详解 Inherits.CodeFile.CodeBehind 在 ASP.NET 中使用代码隐藏方法来设计W ...
- 空字符python_Python中的None与 NULL(即空字符)的区别详解
1.首先要了解Python的对象的概念: Python中,万物皆对象,所有的操作都是针对对象的,那什么是对象,5是一个int对象,'oblong'是一个str对象,异常也是一个对象,抽象一点是,人,猫 ...
- C语言scanf fgets,C语言中输入函数(scanf()、fgets()和gets())的区别详解
前言 大家都知道在C语言中,有三种主要的输入函数:scanf(),fgets()以及gets().他们的使用方法及注意事项如下: 1.scanf() 它是一种格式化的输入方式,可一次性按照规定的格式输 ...
- ASP.NET中的inherits、CodeFile、CodeBehind的区别详解
在ASP.NET中使用代码隐藏方法来设计Web窗体,可使页代码能够清晰地从HTML内容中分离到完全单独的文件中. 通常一个@page指令如下: < %@ Page language=" ...
- inherits java_ASP.NET中的Inherits、CodeFile、CodeBehind的区别详解
Inherits.CodeFile.CodeBehind 在 ASP.NET 中使用代码隐藏方法来设计Web 窗体,可使页代码能够更清晰地从 HTML 内容中分离到完全单独的文件中. 通常一个 @pa ...
- php为什么需要配置路由器,laravel 配置路由 api和web定义的路由的区别详解
1.路由经过中间件方面不同 打开kerenl.php就可以看到区别 protected $middlewareGroups = [ 'web' => [ \App\Http\Middleware ...
- java正则匹配多个斜杠_正则表达式中两个反斜杠的匹配规则详解
关于正则表达式raw的\匹配规则 这是我在学习中获得到的一个例子,第一表达式中匹配到的是none.于是乎我就在思考,为什么会匹配不到,假设\t被转义成一个\t,那么也应该匹配到\tsanle,而不是n ...
- python实现单例模式的几种方式_基于Python中单例模式的几种实现方式及优化详解...
单例模式 单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在.当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场. ...
- Python中常见的__init__.py是什么意思?详解Python import的方式和原理
Python中常见的__init__.py是什么意思?详解Python import的方式和原理 1 什么是模块化编程? 2 __init__.py文件的作用 3 Python如何import第三方库 ...
- Java中print、printf、println的区别 详解
Java中print.printf.println的区别详解 printf主要是继承了C语言的printf的一些特性,可以进行格式化输出 print就是一般的标准输出,但是不换行 println和pr ...
最新文章
- java高效代码_Java工程师该如何编写高效代码?
- oracle 哦【的【,清晰讲解SQL语句中的外连接,通用于Mysql和Oracle,全是干货哦
- JBOSS5.0 Beta4 配置详解
- 阻止地图的放大和缩小_Arcgis画地图详细步骤(真的!!)
- Django 优秀资源大全项目资源非 Python 包工具贡献
- 二进制安装的mysql怎么卸载_mysql安装-----二进制包安装及卸载
- [面试] C/C++ 语法细节拾遗
- 常用VC++运行时下载地址
- 如何搭建测试质量体系
- UEditor的使用
- 个人博客定制 to 鼠标单击事件绑定
- Centos7 SGE安装部署
- 如何在Linux系统中安装DBeaver通用数据库工具
- 关于Rasa你必须要知道的几件事
- 不同平方的电线都能带动哪些家用电器
- 它是一个完全可以代替知网的精品网站
- 【python】获取当前时间(年月日时分秒)
- pythone二级题库 + 刷题软件 (超详细解析,看完必过) 第十一套
- 你拥有的最宝贵的财富是什么?(通向财富自由学习笔记三)
- 10行代码DIY一个类USB Rubber Ducky来遥控自己电脑
热门文章
- 安装libgl1-mesa-dri:i386重启后黑屏问题解决
- Tutorials 使用窗口功能分析信息
- com.alibaba.dubbo.rpc.RpcException: Since you are
- 转:初学shell脚本--shell语法使用
- oracle:plsql学习总结(oracle database 10g sql 开发指南)
- 主流搜索引擎博客提交地址
- 将C#的Dic转成Lua的Table将C#的List转成Lua的Table
- [python]有关Python的import...和from...import...的区别
- 业内较好的监控mysql_MySQL监控、性能分析——工具篇
- linux引导界面含义,Linux引导时输入特殊信息的含义的方法