nginx 禁止未绑定域名访问
创建日期:2015-04-30 15:28

一般规则

server {
    listen       80  default_server;
    server_name  _;
    return       404;
}

其实这个名字没有什么特别的,它仅仅是一个许多无效的域名中的一个代表,与任何真实的名字永远不会相交。其它无效的名称,如-!@#也可同样使用。

default_server:nginx的虚拟主机是通过HTTP请求中的Host值来找到对应的虚拟主机配置,如果找不到呢?那nginx就会将请求送到指定了default_server的节点来处理。

对于未绑定的域名指向你的服务器时,匹配不到你配置的虚拟主机域名后,会默认使用这个虚拟主机,然后直接返回404。

把这个server段配置添加你的nginx.conf即可。

其他配置

server {
    listen  80  default_server;
    server_name  _;
    rewrite ^/(.*) https://s.fbzl.org/$1 permanent;
}