我们在使用的时候会遇到很多的恶意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声明需要删除,否则回报错: