美文网首页
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