精确匹配是指server_name指令直接指定了一个完整的域名,如: nginx server { listen 80; server_name example.com; ... } 当请求的Host头部字段完全等于example.com时,该server块将被选中来处理请求。精确匹配具有最高的优先级。 4. 通配符匹配规则 通配符匹配允许使用*来匹配任意子域名。通配符可以出现在域名的...
1.精确匹配 2.通配符匹配 3.正则表达式匹配 匹配方式一:精确匹配 server{ listen 80; server_name www.baidu.com ww.qq.com; } 1. 2. 3. 4. 使用域名需要将本地的host文件 进行更改,否则直接跳转的是官方网站。 匹配方式二:使用通配符 server_name 中支持使用"*" , 型号只能出现在域名的两边,不能出现...
1、Nginx的server_name匹配规则 ①匹配IP地址和listen指令指定的IP和端口; ②将Host头字段作为字符串匹配server_name指令; ③将Host头字段与server_name指令值字符串的开始部分做匹配; ④将Host头字段与server_name指令值字符串的结尾部分做匹配; ⑤将Host头字段与server_name指令值进行正则表达式匹配; ⑥如果所有Host...
server_name中支持通配符"*",但需要注意的是通配符不能出现在域名的中间,只能出现在首段或尾段。有一种形如 ".example.org" 的特殊通配符,它可以既匹配确切的名字"example.org",又可以匹配一般的通配符名字 "*.example.org"。 server{ sever_name *.example.com www.example.* .example.com www.example.; ....
1 server_name 详解⭐⭐ 每个server定义一个server_name 每个server_name可以指定一个或多个域名 1 匹配规则 = 2 配置范例 # 左匹配 server { listen 80; server_name *.nginx-test.com; root /usr/share/nginx/html/nginx-test/left-match/; ...
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...
1.精确匹配优先:如果请求的域名与server_name精确匹配,则该server块将处理该请求。 2.前缀通配符匹配:如果存在通配符匹配,nginx将选择最长的前缀通配符进行匹配。例如,存在server_name *.example和server_name当请求 3.正则表达式匹配:如果前两种匹配规则都不满足,nginx将使用正则表达式进行server_name的匹配。例如,server...
server_name 192.168.100.123; # 匹配静态文件 location ^~ /static/ {} } 5.匹配优先级 1.精确匹配 =:如果匹配到,匹配结束,否则往下匹配; 2.前缀匹配(三种情况): (1)如果匹配到,记录所有成功项,最长项如果有^~,停止匹配; (2)如果匹配到,记录所有成功项,最长想如果没有^~,进行正则匹配; ...
精确匹配:直接指定域名,如server_name example.com;。 通配符匹配:使用*匹配任意子域名,如server_name *.example.com;。 通用匹配:使用_匹配任意域名,如server_name _;。 应用场景 多域名托管:在同一台服务器上托管多个网站,每个网站使用不同的域名。
1.精确匹配 预设情况下,server_name指令会进行精确匹配。即,只有当请求的Host头域与server_name完全一致时,才会进行匹配。 例如,我们有一个虚拟主机的server_name指令定义为: server_name example; 那么,当请求的Host头域为example时,该虚拟主机将会被匹配到。而当请求的Host头域为 2.通配符匹配 为了能够处理一些...