nginx默认虚拟主机之default_server详解
作者:linux行者
这段文章主要解释了Nginx默认虚拟主机`default_server`的工作原理及配置优先,涵盖了Nginx如何处理未匹配到的域名请求,以及`default_server`配置文件的优先ginx配置详解
nginx默认虚拟主机default_server
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;
.........
}总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
