server { listen 80 default_server; server_name www.fuwuqijia.com; ... }
listen 指令后面有一个参数 default_server ,这个参数是在 0.8.21 版本以后才有的,而之前是 default
指令。这样以后所有指向到该服务器但未绑定的,都会访问当前www.21yunwei.com这个站点了。
Nginx 的虚拟主机是通 过HTTP请求中的Host值来找到对应的虚拟主机配置。如果找不到,那 Nginx 就会将请求送到指定了
default_server 的 节点来处理;如果没有指定为 default_server 的话,就跑到 localhost 的节点;如果没有
localhost 的节点,那只好 404 了。
另外你也可以指定对于没有匹配的 Host 值时,返回错误到客户端,这在现在国内用来处理未备案域名或恶意域名指向自己时非常有用,看看下面的配置:
server { listen 80 default_server; server_name _; return 444; }
通过返回444这个Nginx的非标准错误码来让Nginx断开与浏览器之间的连接。