配置Nginx实现屏蔽爬虫IP


防止爬虫采集绝对是一个站长需要做的事;且不说站内资源被爬走,但是爬虫采集时消耗的服务器资源可能就够很多站长心疼了。

本文实现的方法比较原始,具体如下:

首先要找出爬虫的IP,可通过一下方法:

awk '{print $1}' /var/log/nginx/access.log |sort|uniq -c|soft -n

这条命令通过分析Nginx的访问日志,可以对IP的访问次数进行统计,并打印访问次数和IP地址;当一个IP频繁请求,要么是搜索引擎蜘蛛的访问,要么是爬虫;

接下来要做的是配置Nginx;Nginx的配置文件通常在 /etc/nginx/下,新建一个文件并命名为 blockip.conf,今后新增需要屏蔽的IP只需按照以下格式写入即可:

deny x.x.x.x;

x.x.x.x 为IP地址;

编辑 nginx.conf 文件,将下面这条语句加入 http 块中,将对所有网站生效;对单个网站生效应写入 server 块中:

include blockip.conf;

需要重启Nginx服务才能生效;

更多格式

屏蔽单个IP访问:

deny x.x.x.x;

允许单个IP访问:

allow x.x.x.x;

屏蔽所有IP访问:

deny all;

允许所有IP访问:

allow all;

屏蔽IP段:

deny x.x.x.x/8;

除了允许指定的IP访问外,其它全部拒绝:

allow x.x.x.1;
allow x.x.x.2;
deny all;

转载声明
本文版权归作者所有

如需转载,请注明出处;本文地址: https://www.perfcode.com/p/1388.html