nginx——location匹配流程图
location匹配流程图

location理解
1.收到url请求后,nginx首先进行精确匹配(有“=”的为精确匹配),如果匹配成功,则直接返回精确匹配结果,如果没有命中则会继续向下进行普通匹配
2.普通匹配分为三种情况
(1)没有命中,继续向下执行正则匹配
(2)命中单个普通匹配,记忆匹配结果,不会立即返回,会继续匹配正则规则
(3)命中多个普通匹配,记忆最长匹配的结果,不会立即返回,会继续匹配正则规则
3.依次匹配正则匹配,匹配结果也分为三种
(1)命中正则匹配,直接反馈正则匹配的结果
(2)没有命中正则匹配,则会返回普通匹配最长的结果(最长指的是虚拟路径的长度,例如 location /a和location /aaa 则会匹配匹配/location /aaa)
可以理解为location匹配的优先级, 精确匹配 > 正则匹配 > 普通匹配
4.nginx反向代理配置location后报错404
(1)location /boss {....} 这种情况需要保证你的项目目录为boss。假如你的项目目录为根,例如使用http:127.0.0.1:8100就可以访问,则配置如下
location = /app {
proxy_pass http://10.10.10.31:8100/;
}
##端口后面的“/”是重点,
上述配置例如访问 http:/0.0.0.0/app 就会转到 http://10.10.10.31:8100/
location = /app {
proxy_pass http://10.10.10.31:8100;
}
##假如后面没有"/",上述案例访问http://0.0.0.0/app,则会转发到http://10.10.10.31:8100/app
nginx——location匹配流程图的更多相关文章
- nginx location匹配顺序及CI框架的nginx配置
Nginx location匹配顺序如下: 用前缀字符串定义的location规则对URI进行匹配测试. =号定义了精确的前缀字符串匹配,如果发现精确匹配则使用当前规则.否则继续下一步匹配. 匹配其它 ...
- Nginx location 匹配顺序整理
Nginx location模块整理 具体的Nginx安装就不在这里描述了,这里只是为了对location的描述 Nginx环境 a. 查看当前系统cat /etc/redhat-release [r ...
- nginx location匹配规则
谢谢作者的分享精神,原文地址:http://www.nginx.cn/115.html location匹配命令 ~ #波浪线表示执行一个正则匹配,区分大小写~* #表示执行一个正则匹 ...
- 转:nginx location匹配规则
location匹配命令 ~ #波浪线表示执行一个正则匹配,区分大小写~* #表示执行一个正则匹配,不区分大小写^~ #^~表示普通字符匹配,如果该选项匹配,只匹配该选项,不匹配 ...
- Nginx Location 匹配
location匹配命令 ~ #波浪线表示执行一个正则匹配,区分大小写~* #表示执行一个正则匹配,不区分大小写^~ #^~表示普通字符匹配,如果该选项匹配,只匹配该选项,不匹配 ...
- Nginx——location匹配与在配置中的优先级
1. location表达式类型 location ^~ /api/v7/ { proxy_next_upstream http_404 http_500 http_502 http_503 http ...
- nginx location 匹配的规则
nginx 的配置文件中, server里面的location 的配置项的理解: server { listen 24010; client_max_body_size 30M; location = ...
- [转载+整理]Nginx Location匹配规则
目录 规则语法 location 分类 匹配顺序: 扩展 location / {}和 location =/ {}的区别 测试 规则语法 语法 匹配规则 空 普通匹配(遵循最大前缀匹配规则, 优先度 ...
- [整理] Nginx Location 匹配规则
目录 规则语法 location 分类 匹配顺序: 扩展 location / {}和 location =/ {}的区别 如何快速测试 规则语法 语法 匹配规则 空 普通匹配(遵循最大前缀匹配规则, ...
随机推荐
- 【Swift 4.0】iOS 11 UICollectionView 长按拖拽删除崩溃的问题
正文 功能 用 UICollectionView 实现两个 cell 之间的位置交互或者拖拽某个位置删除 问题 iOS 11 以上拖拽删除会崩溃,在 iOS 9.10 都没有问题 错误 017-10- ...
- 家庭记账本小程序之java代码部分(java web基础版二)
1.连接数据库 package util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Res ...
- js-高级(原型与原型链、作用域与作用域链、闭包)
## 原型与原型链 * 所有函数都有一个特别的属性: * `prototype` : 显式原型属性 * 所有实例对象都有一个特别的属性: * `__proto__` : 隐式原型属性 * 显式 ...
- Java Mail 实现第三方邮件发送功能
1 创建一个用于发送邮件的类 package com.latiny.service; import java.io.IOException; import java.io.InputStream; i ...
- Shell命令-文件压缩解压缩之tar、unzip
文件及内容处理 - tar.unip 1.tar:打包压缩命令 tar命令的功能说明 tar 命令常用语用于备份文件,tar 是用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件 ta ...
- 四、Attribute
Attribute分两种 Attribute称为特性,语法:特性(Attribute)的名称和值是在方括号内规定的,放置在它所应用的元素之前. 1.ActionFilterAttribute(过滤器) ...
- python中self和cls的区别
1.self表示一个具体的实例本身.如果用了staticmethod,那么就可以无视这个self,将这个方法当成一个普通的函数使用. 2.cls表示这个类本身. >>> class ...
- windows下使用hbase/opencv/ffmpeg小记
1.hadoop安装 不同于Ubuntu,win 10下使用hbase需安装hadoop环境,这里有几个坑,首先14年以后,hadoop已不再发布window版本,这里可往官网 http://hado ...
- 【BZOJ5503】[GXOI/GZOI2019]宝牌一大堆(动态规划)
[BZOJ5503][GXOI/GZOI2019]宝牌一大堆(动态规划) 题面 BZOJ 洛谷 题解 首先特殊牌型直接特判. 然后剩下的部分可以直接\(dp\),直接把所有可以存的全部带进去大力\(d ...
- [THUWC2017]随机二分图
题目大意 给一张二分图,有左部点和右部点. 有三种边,第一种是直接从左部点连向右部点,出现概率为50%. 第二种边一组里有两条边,这两条边同时出现或者不出现,概率都是50%. 第三种边一组里有两条边, ...