配置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

分类: 计算机技术
推荐阅读:
Rust中的函数 函数在所有编程语言中都非常普遍,也非常重要;在Rust中,可以使用 fn 关键字来声明一个函数;
IDLE是什么? IDLE是Python的一个集成开发与学习环境(Integrated Development and Learning Enviroment);与Python捆绑在一起,安装好Python以后,IDLE会自动安装;它使用Python 和Tkinter Gui编写。
no new variables on left side of :=错误解决方法 Go语言中使用:=进行赋值导致no new variables on left side of :=错误,其原因是:=左侧没有新变量;
使用vim编辑文件时添加密码保护 当你使用vim编辑器编辑一个文件时,可以使用一条命令即可实现向该文件添加一个密码保护;如果输入的密码错误,将无法正确打开文件,得到的是乱码;
C语言中 i++ 和 ++i 的区别 在C语言中,++ 运算符也叫递增运算符,只需要一个操作数,属于一元运算符;本文将讨论前缀++运算符和后缀++运算符的区别,以及符号优先级的问题;
python bin()函数详细教程 bin()函数将一个整数转换成前缀为”0b“的二进制字符串形式,如果参数不是int对象,那它需要定义__index__()方法并返回一个整数;