由于server_name指令支持通配符和正则表达式,因此在包含多个虚拟主机的配置文件中,可能会出现一个名称被多个虚拟主机的server_name匹配成功,当遇到这种情况,当前的请求交给谁来处理呢?

server{listen 80;server_name ~^www\.\w+\.com$;default_type text/plain;return 200 'regex_success';
}server{listen 80;server_name www.leon.*;default_type text/plain;return 200 'wildcard_after_success';
}server{listen 80;server_name *.leon.com;default_type text/plain;return 200 'wildcard_before_success';
}server{listen 80;server_name www.leon.com;default_type text/plain;return 200 'exact_success';
}server{listen 80 default_server;server_name _;default_type text/plain;return 444 'default_server not found server';
}

结论:

exact_success
wildcard_before_success
wildcard_after_success
regex_success
default_server not found server!!
No1:准确匹配server_nameNo2:通配符在开始时匹配server_name成功No3:通配符在结束时匹配server_name成功No4:正则表达式匹配server_name成功No5:被默认的default_server处理,如果没有指定默认找第一个server

Nginx的server_name匹配执行顺序相关推荐

  1. nginx开发_Filter模块执行顺序

    Filter模块执行顺序 Filter模块的执行顺序是在执行configure文件时决定的,configure文件执行完成后生成objs/ngx_modules.c,文件中定义了一个数组ngx_mod ...

  2. Nginx location执行顺序和匹配规则

    nginx location执行顺序和匹配原则根据location的特点分为普通和正则两种,执行顺序和匹配规则的差异也在于此. 执行顺序 nginx会优先执行普通location,不管普通locati ...

  3. 必学必会的nginx配置location匹配顺序总结

    location 匹配规则: location 路径正则匹配: 符号 说明 ~ 正则匹配,区分大小写 ~* 正则匹配,不区分大小写 ^~ 普通字符匹配,如果该选项匹配,则,只匹配该选项,不再向下匹配其 ...

  4. nginx配置location匹配顺序总结

    location匹配顺序 "="前缀指令匹配,如果匹配成功,则停止其他匹配 普通字符串指令匹配,顺序是从长到短,匹配成功的location如果使用^~,则停止其他匹配(正则匹配) ...

  5. nginx之location匹配规则

    Nginx之location 匹配规则详解 有些童鞋的误区 1. location 的匹配顺序是"先匹配正则,再匹配普通". 矫正: location 的匹配顺序其实是" ...

  6. nginx 配置文件的匹配规则

    引出 之前在对php-fpm 进行nginx代理时, 为了对后台限定 IP 访问, 添加了如下配置: location ^~ /admin {allow 127.0.0.1;deny all; } 结 ...

  7. Nginx的11个执行流程

    1 Nginx简介 Web服务器市场份额 Nginx [engine x] 最初由 Lgor Sysoev 编写.根据 Netcraft 的数据,到2020年9月,Nginx 服务或代理了25.76% ...

  8. Nginx的location匹配与rewrite重写跳转

    目录 Nginx的location匹配与rewrite重写跳转 一.常用的Nginx正则表达式 二.location 分类 location常用的匹配规则 优先级 location示例说明 Rewri ...

  9. nginx的优先匹配规则

    nginx的优先匹配规则 以=开头表示精确匹配 如 A 中只匹配根目录结尾的请求,后面不能带任何字符串. ^~ 开头表示uri以某个常规字符串开头,不是正则匹配 ~ 开头表示区分大小写的正则匹配; ~ ...

最新文章

  1. dubbo学习过程、使用经验分享及实现原理简单介绍
  2. leetcode网学习笔记(1)
  3. 零基础代码学python-零基础学python之构建web应用(入门级)
  4. IDEA中的HTTP Client Editor测试API
  5. redis学习(二) redis数据结构介绍以及常用命令
  6. day2 java的数据转换与强制转换
  7. mfc大观之五、六(消息机制和消息运行)
  8. 计算机网络—信道划分与介质访问控制
  9. UIView用户事件响应
  10. Spring操作数据库几十次后就JDBC begin transaction failed
  11. 知名国产论坛,凉了!!!!
  12. Sql server bulk insert
  13. Harbor启动访问502错误
  14. UI设计师福利之手把手打造SVG动画应用的微场景
  15. pdfjs 浏览器打印字体模糊问题
  16. Redis 如何实现防止超卖和库存扣减操作?
  17. C# Winform窗体置顶(解决this.this.TopMost = true失效的问题)
  18. 基于MATLAB改进Otsu阈值分割的车道线检测
  19. eslint报错解决方案:--fix的使用
  20. No enclosing instance of type 错误的解决方法

热门文章

  1. 【CKFinder】解决上传中文名文件乱码和文件重命名的问题
  2. 动态连接库的两种方式
  3. Optimize a Flex application using deferred instantiations
  4. django 数据库中中文转化为汉语拼音
  5. go学习笔记-标准库
  6. aspnet_regiis.exe -i 执行报错
  7. HDU_2577 How to Type(DP)
  8. 通向架构师的道路(第一天)之Apache整合Tomcat
  9. Grafana Worldmap外网用户request地图监控
  10. 【328天】每日项目总结系列066(2017.12.30)