nginx虚拟主机是通过HTTP请求中的Host值来找到对应的虚拟主机配置,如果找不到呢?那 Nginx 就会将请求送到指定了 default_server 的 节点来处理,如果没有指定为 default_server 的话,找conf.d目录下字母排序位于第一个的配置文件中的第一个server_name节点了。
nginx 案例,理解default_server,
情况1:所有conf文件的name_server 都没有default_server时。
conf.d目录下按照字母排序,cf.tom.com.conf排第一,如果是一个未匹配到的域名或者ip,就会找conf.d目录下字母排序位于第一个的配置文件, 所以这时候,无论访问的是cf.tom.com还是ip,都是去访问cf.tom.com.conf文件
/etc/nginx/conf.d/
├── cf.tom.com.conf
└── default.conf
情况2:在default.conf的name_server中加入 default_server, 访问域名cf.tom.com的时候,会去找cf.tom.com.conf文件,访问ip的时候,会去找default.conf文件
server {
listen 80;
name_server localhost default_server;
.........
}
标签:虚拟主机,default,cf,server,nginx,conf,tom,com
From: https://blog.csdn.net/cumtglad/article/details/139201909