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 =/ {}的区别 如何快速测试 规则语法 语法 匹配规则 空 普通匹配(遵循最大前缀匹配规则, ...
随机推荐
- MySQL的运算符及其优先级
+++++++++++++++++++++++++++++++++++++++++++标题:MySQL的常见运算符时间:2019年2月23日内容:MySQL的常见运算符重点:主要讲述MySQL常见运算 ...
- 软件工程(GZSD2015) 第三次作业
时间: 2015/4/17-2015/4/23 基本要求: 在之前编写的四则运算程序基础之上做如下改进: 请参照教材Page57:4.2-4.3节中内容,修改原程序,使之符合 "代码风格和设 ...
- c# pda
1.去除标题栏 FormBorderStyle属性设置为none 2.去除任务栏 [System.Runtime.InteropServices.DllImport("coredll.dll ...
- Yesterday when I was young
Somehow, it seems the love I knew was always the most destructive kind 不知为何,我经历的爱情总是最具毁灭性的的那种 Yester ...
- 酷炫的loading
今天分享一下,怎么通过用css写出一个酷炫的loading. meta: <meta name="viewport" content="width=device-w ...
- C#中使用JavaScriptSerializer类实现序列化与反序列化
1.添加引用 JavaScriptSerializer类的使用需要引用System.Web.Extensions.dll文件,根据路径:C:\Program Files (x86)\Reference ...
- Mysql——Navicat 连接MySQL 8.0.11 出现2059错误
原因 mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password 解决 更改加密规则: mysql -u ...
- jQuery之标签操作和返回顶部、登录验证、全选反选、克隆示例
一.样式操作 1.JQ中的样式类 somenode.addClass();// 添加指定的CSS类名. somenode.removeClass();// 移除指定的CSS类名. somenode.h ...
- Django之缓存、信号和图片验证码
一. 缓存 1. 介绍 缓存通俗来说:就是把数据先保存在某个地方,下次再读取的时候不用再去原位置读取,让访问速度更快. 缓存机制图解 2.Django中提供了6种缓存方式 1. 开发调试 2. 内存 ...
- [BZOJ 2242] [SDOI 2011] 计算器
Description 你被要求设计一个计算器完成以下三项任务: 给定 \(y,z,p\),计算 \(y^z \bmod p\) 的值: 给定 \(y,z,p\),计算满足 \(xy≡ z \pmod ...