1、Nginx的server_name匹配规则 ①匹配IP地址和listen指令指定的IP和端口; ②将Host头字段作为字符串匹配server_name指令; ③将Host头字段与server_name指令值字符串的开始部分做匹配; ④将Host头字段与server_name指令值字符串的结尾部分做匹配; ⑤将Host头字段与server_name指令值进行正则表达式匹配; ⑥如果所有Host...
1.精确匹配 2.通配符匹配 3.正则表达式匹配 匹配方式一:精确匹配 server{ listen 80; server_name www.baidu.com ww.qq.com; } 1. 2. 3. 4. 使用域名需要将本地的host文件 进行更改,否则直接跳转的是官方网站。 匹配方式二:使用通配符 server_name 中支持使用"*" , 型号只能出现在域名的两边,不能出现...
server_name中支持通配符"*",但需要注意的是通配符不能出现在域名的中间,只能出现在首段或尾段。有一种形如 ".example.org" 的特殊通配符,它可以既匹配确切的名字"example.org",又可以匹配一般的通配符名字 "*.example.org"。 server{ sever_name *.example.com www.example.* .example.com www.example.; ....
1.1、精确匹配 如下nginx配置 1 2 3 4 5 6 7 8 9 10 11 12 13 listen 8080; server_name test1.com; location / { return 200 "I am test1!\n"; } } server { listen 8080; server_name my.test.com; location / { return 200 "I am mytest!\n"; } } 请求结果 curl http://my.tes...
nginx的server_name匹配规则遵循以下优先级原则: 1.精确匹配优先:如果请求的域名与server_name精确匹配,则该server块将处理该请求。 2.前缀通配符匹配:如果存在通配符匹配,nginx将选择最长的前缀通配符进行匹配。例如,存在server_name *.example和server_name当请求 3.正则表达式匹配:如果前两种匹配规则都不满足,nginx将...
$1是第⼀个括号匹配的值,$2是第⼆个,以此类推 server { listen 80;server_name ~^abc\.(\w+)\.com;location / { default_type text/plain;return 200"==>$1";} } 匹配顺序 1. 精确匹配 2. 通配符在前 3. 通配符在后 4. 正则匹配 5. 默认server处理 ...
nginx server_name 正则匹配 nginx配置location 正则匹配,location表达式类型~表示执行一个正则匹配,区分大小写~*表示执行一个正则匹配,不区分大小写^~表示普通字符匹配。使用前缀匹配。如果匹配成功,则不再匹配其他location。=进行普通字符精确匹配。也就是完全匹配。@
server{server_name~^(www\.)?(.+)$;location/{root/sites/$2;}} 数字引用不推荐使用,此种方式容易被覆盖。 3. server_name的配置格式之精确匹配 代码语言:javascript 复制 server{listen80;server_name example.org www.example.org;...} 精确匹配格式指的除了通配符匹配和正则匹配之外的格式,就这么简单。
1.精确匹配 预设情况下,server_name指令会进行精确匹配。即,只有当请求的Host头域与server_name完全一致时,才会进行匹配。 例如,我们有一个虚拟主机的server_name指令定义为: server_name example; 那么,当请求的Host头域为example时,该虚拟主机将会被匹配到。而当请求的Host头域为 2.通配符匹配 为了能够处理一些...
2. nginx如何根据server_name匹配规则选择server区块 当有一个请求进入nginx服务器时,nginx会按照特定的顺序来检查server区块的server_name指令,以确定应该选择哪个server区块来处理请求。它会按照以下顺序进行匹配: -使用精确匹配优先:如果请求的域名与某个server区块的server_name指令精确匹配,那么nginx将选择该server区块...