计算机网络/计算机科学与应用/系统/运维/开发

Nginx server_name 详解

Nginx  中 Server 模块 主要针对虚拟主机配置,Nginx接收到请求后,会优先匹配server模块 listen端口监听和server_name 域名配置


1、精准匹配server_name

server {
    listen   80;
    server_name domain.com  www.domain.com; 
    ...
}

访问时,必须是全部匹配,比如 domain.com,www.domain.com


2、以 * 通配符开始的字符串

server  {
    listen   80;
    server_name  *.domain.com;
    ...   
}

访问时,可以模糊匹配  www.domain.com,a.domain.com 


3、以 * 通配符结束的字符串

server  {
      listen    80;
        server_name  www.*; 
        ...
}


4、匹配正则表达式

server  {
      listen   80;
        server_name   ~^(?.+)\.domain\.com$;
        ...
}

Nginx 会以次序匹配,成功后,就停止后面的匹配项,如果都不满足,优先选择带有 default 或者 default_server或者匹配端口号


业精于勤而荒于嬉,行成于思而毁于随

评论

^