nginx 设置了二级域名后,发现很多没有绑定的域名都可以访问,那么怎么让nginx禁止对未绑定的域名的访问了,解决方法很简单,在nginx的配置文件中增加下面一个server段就可以了。

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

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

通过上面的配置,对于未绑定的域名指向你的服务器时,由于匹配不到你配置的虚拟主机域名,则会默认使用上面的这个虚拟主机,然后直接返回404,这样就达到禁止对未绑定域名的访问了。

至于server_name为什么是_,其实它仅仅是许多无效的域名中的一个代表,与任何真实的名字永远不会相交。其它无效的名称,如“ – “ 和” !@# “也可同样使用。

转载请注明:知识蚂蚁 » nginx如何禁止对未绑定域名的访问

我来说说

(便于我们更好的交流)

有不明白的地方欢迎留言哦~
取消