nginx 禁止某个IP访问站点

有IP刷网站,而且还破解了wordpress,在我的博客里发广告博文,已经好几次了。前几次都是删除文章了事。昨天下午又发了,后台分析日志,发现是一个俄罗斯的ip,于是想封掉这个IP,不让他打开网站。

查资料,网上很多人说 /etc/hosts.deny 可以实现。其实是不行的。又不想用 iptable,感觉太麻烦。直接查 nginx阻止ip访问的办法。

首先建立下面的配置文件放在 nginx 的 conf目录下面,命名为blocksip.conf:

    deny 4.4.4.4 //这是nginx要禁止的IP

保存一下。
在nginx的配置文件nginx.conf中加入:include blocksip.conf; 然后重启 nginx,就可以生效了。被封锁的ip打开站点的时候,就会提示:

403 Forbidden

blocksip.conf:的格式还有许多种,可以配置只允许的IP访问或者IP段访问:

deny IP;
allow IP;
# block all ips
deny all;
# allow all ips
allow all;

其中网段的写法是这样的:192.168.1.0/24这样的形式

这样处理后,指定的ip是访问不了网站的,返回403。这样对换ip就不行了,还是把后台的登录密码修改了,以防万一。希望不会再发生乱发广告的事了吧。

0
如无特殊说明,文章均为本站原创,转载请注明出处

该文章由 发布

这货来去如风,什么鬼都没留下!!!