隐藏

使用Nginx屏蔽/禁止IP访问网站

发布:2022/5/10 20:29:27作者:管理员 来源:本站 浏览次数:1700

面对垃圾留言和暴力破解,我们可以封禁IP,前文介绍过Apache环境使用.htacess来屏蔽IP,Nginx也可以做到。前提是我们已经搭建好了LNMP环境。

我们来到/usr/local/nginx/conf/vhost网站目录,具体路径可能有点区别,可以用whereis nginx找到你的nginx网站目录。打开vhost下nginx.conf配置文件,找到server然后在server"{}",在这个大括号内加入deny IP地址是限制某IP地址访问;allow IP地址是只允许某IP地址访问。

上图所示是屏蔽单个IP,注意后面的分号,修改保存后重载nginx服务service nginx reload。如果生效该IP访问网站会出现403 forbidden。

#封IP段比如从192.0.0.1到192.0.0.254的命令是
deny 192.0.0.0/24这其实就是把192.0.0.x这整个C端屏蔽了。

还有一种方法,在nginx的conf目录下面新建配置文件为blocksip.conf:

输入要屏蔽的地址deny 24.112.16.30; 保存一下。

在nginx的配置文件nginx.conf中加入:include blocksip.conf;

重启一下nginx的服务:service nginx reload或/usr/local/nginx/sbin/nginx -s reload 就可以生效了。

blocksip.conf:的格式还有许多种,可以配置只允许的IP访问或者IP段访问:
# block all ips
deny all;
# allow all ips
allow all;

如果你想实现这样的应用,除了几个IP外,其他全部拒绝,在ip.balcklist中这样写
allow 1.1.1.1;
allow 1.1.1.2;
deny all;