nginx禁止未绑定域名访问的配置方法

发布时间:2020-09-07编辑:脚本学堂
本文介绍下,在nginx中,如何禁止未绑定域名的访问,具体方法,参考下本文的介绍吧。

看看官方的介绍。
In catch-all server examples the strange name “_” can be seen:
 

复制代码 代码示例:
server {
    listen       80  default_server;
    server_name  _;
    return       444;
}

There is nothing special about this name, it is just one of a myriad of invalid domain names which never intersect with any real name. Other invalid names like “--” and “!@#” may equally be used.

解释:
在这个server段实例可以看到:奇怪的server_name名字“ _ “
 

复制代码 代码示例:
server {
    listen       80  default_server;
    server_name  _;
    return       404;
}

这个名字仅仅是一个许多无效的域名中的一个代表,与任何真实的名字永远不会相交。其它无效的名称,如“ - “ 和” !@# “也可同样使用。
default_server:
nginx的虚拟主机是通过HTTP请求中的Host值来找到对应的虚拟主机配置,如果找不到,就会将请求送到指定了 default_server 的节点进行处理。

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

把以上server段的配置代码,添加到nginx.conf中就可以使用了。