美文网首页
2.nginx的server_name匹配顺序

2.nginx的server_name匹配顺序

作者: 无处安放的menta | 来源:发表于2020-11-12 21:18 被阅读0次

小张和师父边走边聊,很快的,一座雄伟的都城便出现在了师徒两人的面前,没有流连于帝都的繁华,他们先来到了处理全国各地事务的“行政街”。有师傅的指引,小张到了一个府衙门口将信件交给了官差,很快便拿到了处理结果的回信。没想到处理的这么快,好奇之余加上师父之前给自己讲的nginx处理机制,便想要更加深入了解Nginx内部结构。

老王告诉小张,国家每隔几年就会选拔优秀的邮差进入中央系统工作。而想要当一名优秀的邮差,准确地判断服务器名然后投递到对应的处理业务的“府衙”是一项必备技能,也是选拔考试必考的内容。小张听了不以为然,服务器名字和信封上的名字不是一一对应的吗?这不是很简单吗?

这次任务中的服务器名字匹配是比较容易的一种--精确匹配,然而服务器名匹配并不全然如此。老王笑着拿起手中的信封”http://wyc.com/abc?name=li“,当wyc.com与多个指定的府衙名(服务器名)匹配时,有多种匹配规则,有可能顺序是:

1.精确的名称

2.以星号开头的最长的通配符名称,例如:.wyc.com

3.以星号结尾的最长的通配符名称,例如:wyc.**

4.第一个匹配的正则表达式

通配符需要注意的是只能在开头和结尾包含一个星号,像www..wyc.comw.wyc.com是无效的。星号可以匹配多个名称部分。名称.wyc.com不仅能匹配www.wyc.comwww.abc.wyc.com,同时也可以省略星号的写法,.wyc.com,这种用来匹配确切的名称wyc.com.wyc.com

那么上面的两种写法是不是可以通过你说的正则表达式的方法来匹配?小张疑惑道。

是的,正则表达式的话,服务器名称必须以波浪号开头,否则将被认为是精确匹配,如果出现*,将被视为通配符名称,当然就想上面的例子一样,也可能是无效的。

正则表达式这么强大啊,但是这些~,&这些符号都是啥意思的?有能匹配到所有服务器名字的“府衙”吗?小张看着正则表达式写法的服务器名陷入了迷茫。

正则表达式稍后再讲,确实有特殊的服务器名可以匹配所有,既然来了“行政街”,首先带你去熟悉下各个府衙吧。说罢,师徒二人便消失在了人群中。

image

相关文章

  • 2.nginx的server_name匹配顺序

    小张和师父边走边聊,很快的,一座雄伟的都城便出现在了师徒两人的面前,没有流连于帝都的繁华,他们先来到了处理全国各地...

  • 3.nginx的特殊server_name及匹配

    听了server_name匹配顺序,而最重要的正则匹配自己却一无所知,羞愧的想把它们全部塞到脑壳里充实自己,不过当...

  • nginx-2 如何处理一个请求

    nginx接收一个请求后,首先由listen和server_name指令匹配server模块,再匹配server模...

  • Ngnix学习小结

    全局变量# 主机名(server_name)匹配# Location查找规则# Rewrite规则# 负载均衡# ...

  • Nginx location匹配规则

    location [=|~|~*|^~|@] pattern { ... } 匹配顺序 精确匹配 = 前缀匹配 ^...

  • nginx location 规则

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

  • nginx配置-location

    一、location匹配顺序 "="前缀指令匹配,如果匹配成功,则停止其他匹配 普通字符串指令匹配,顺序是从长到短...

  • nginx-location配置详解

    1)语法规则: location [=|~|~*|^~] /uri/ {...} 2)匹配顺序 匹配的原则为:匹配...

  • 正则表达式中的条件匹配

    条件匹配:限定目标字符串前后的内容 限制匹配目标前的内容,注意顺序不能颠倒 限制匹配目标后的内容,注意顺序不能颠倒...

  • nginx的location匹配

    location匹配分三种方式,按优先级顺序是精确匹配(=)、普通匹配、正则匹配(~,^~,~*). 精确匹配命中...

网友评论

      本文标题:2.nginx的server_name匹配顺序

      本文链接:https://www.haomeiwen.com/subject/ebcmbktx.html