Nginx 禁止IP访问 只允许域名访问

xiaoxiao2021-02-28  103

我们在使用的时候会遇到很多的恶意IP攻击,这个时候就要用到Nginx 禁止IP访问了。下面我们就先看看Nginx的默认虚拟主机在用户通过IP访问,或者通过未设置的域名访问(比如有人把他自己的域名指向了你的ip)的时候生效最关键的一点是,在server的设置里面添加这一行:

listen 80 default;

后面的default参数表示这个是默认虚拟主机。 Nginx 禁止IP访问这个设置非常有用。

比如别人通过IP或者未知域名访问你的网站的时候,你希望禁止显示任何有效内容,可以给他返回500。目前国内很多机房都要求网站主关闭空主机头,防止未备案的域名指向过来造成麻烦。

简单直接的修改方法,则可以修改nginx.conf 文件:

... server { listen 80; server_name www.nbu.edu.cn; #这里是你自己指定的域名 ... } #直接禁止IP地址访问 server { listen 80 default_server; server_name _; return 403; }

上述方法存在一个问题,IP虽然不能访问,但是主url网址可能也会访问不了,或者访问为默认的index,例如:

www.nbu.edu.cn

解决的方法:

server { listen 80 default; server_name _; server_name www.edu.nbu.cn; return 500; }

加入该服务器名称,将域名也放进去,表示该域名不可以通过IP地址访问,这样就完成了,如有问题,请留言,谢谢!

注意:前面的default_server声明需要删除,否则回报错:

转载请注明原文地址: https://www.6miu.com/read-36787.html

最新回复(0)