美文网首页
12.http模块基础 --server_name 指令详解

12.http模块基础 --server_name 指令详解

作者: _小二_ | 来源:发表于2020-04-15 14:17 被阅读0次

server_name (上下文http ,server ,location
格式:
1. 具体指定的域名,可以写多个,第一个为主域名
注:正常情况下次级域名的请求不会请求转发到主域名下,使用命令 (server_name_in_redirect on) 开启,正常情况下,这个指令是关闭状态, 开启后,如果发生请求转发,则跳转到主域名下的对应地址
2. 泛域名,即域名最前使用*,或者域名最后使用*
3. 正则表达式形式的域名,正则表达式使用时,最前需要使用 ~符号

         注:正则表达式可以使用()创建变量,如下所示:
          ```server{
               server_name   ~^(www\.)?(.+)$;
               location  /{root/site/$2;}  #其中$2指的是匹配成功后server_name中(.+)部分的值
          }
          server{
              server_name ~^(www\.)?(?<domain>.+)$;
              location /{root/site/$domain;}    #其中$domain指的是匹配成功后server_name中<domain>部分的值
          }```

server的匹配顺序:
1. 具体的域名
2. * 号在前的域名
3. *号在后的域名
4. 正则表达式域名(若是多个正则表达式都满足,则使用排在最前的哪个)
5. 默认匹配域名 :default server
>>>> 所有的server模块中的第一个
>>>> 在listen指令中监听时,添加了default的哪个server
注:在1 2 3中的顺序和配置中的排列顺序无关,4则哪个排在前面使用哪个

相关文章

网友评论

      本文标题:12.http模块基础 --server_name 指令详解

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