网站首页 > 精选教程 正文
概述
每个网站通常都会遇到很多非搜索引擎的爬虫,这些爬虫大部分都是用于内容采集或是初学者所写,它们和搜索引擎的爬虫不一样,没有频率控制,往往会消耗大量服务器资源,导致带宽白白浪费了。下面介绍下怎么通过nginx来屏蔽网络爬虫的方法。
附一张没啥用的图:
思路
Nginx可以根据User-Agent过滤请求,只需要在需要URL入口位置通过一个简单的正则表达式就可以过滤不符合要求的爬虫请求:
location / { if ($http_user_agent ~* "python|curl|java|wget|httpclient|okhttp") { return 503; } # 其它正常配置 ... }
注意:变量$http_user_agent是一个可以直接在location中引用的Nginx变量。~*表示不区分大小写的正则匹配,通过python就可以过滤掉80%的Python爬虫。
Nginx中禁止屏蔽网络爬虫
server { listen 80; server_name _; client_max_body_size 1024m; ssi on; ssi_silent_errors on; if ($http_user_agent ~* "qihoobot|Baiduspider|Googlebot|Googlebot-Mobile|Googlebot-Image|Mediapartners-Google|Adsbot-Google|Feedfetcher-Google|Yahoo! Slurp|Yahoo! Slurp China|YoudaoBot|Sosospider|Sogou spider|Sogou web spider|MSNBot|ia_archiver|Tomato Bot") { return 403; } location /XXX { ........... }
配置后重启可以用curl 测试一下
curl -I -A "qihoobot" www.gzwise.top
总结
上面主要是介绍通过User-Agent过滤网络爬虫请求的一个方式,大家有空也可以自己测试一下,后面会分享更多关于nginx方面内容,感兴趣的朋友可以关注下!
猜你喜欢
- 2024-09-29 详解Nginx服务器屏蔽网络爬虫的方法---User-Agent过滤请求
- 2024-09-29 3、Nginx访问控制 nginx 访问控制
- 2024-09-29 Nginx基础概念篇 nginx详细讲解
- 2024-09-29 跨域漏洞,我把前端线上搞崩溃了!
- 2024-09-29 NGINX sub_filter 和 subs_filter 指令讲解
- 2024-09-29 Nginx系列:root与alias指令用法的区别
- 2024-09-29 Nginx Location深入了解匹配优先级的秘密#java面试
- 2024-09-29 Nginx服务器-location正则表达式概述总结及实战案例
- 2024-09-29 一张图搞明白Nginx的 / 和 ^~ / 匹配的相同点和不同点
- 2024-09-29 Ngnix的server_name精确匹配配置 nginx server匹配
你 发表评论:
欢迎- 最近发表
-
- 我的世界光影MOD下载(我的世界光影mod下载安装)
- 我的世界1.7/1.8VoxelMap小地图MOD下载
- 我的世界1.7.10多世界 整合包(我的世界1.7.10forge整合包)
- 我的世界1.8最好用的修改器下载(我的世界1.8最好用的修改器下载安装)
- 我的世界更多弯曲动作MOD下载(我的世界更多弯曲动作mod下载手机版)
- 我的世界龙珠MOD下载(我的世界龙珠模组整合包下载)
- 我的世界1.7.10以太2 下载(我的世界以太2mod1.12.2)
- 我的世界虚拟人生MOD下载分享(我的世界虚拟人生下载安装)
- 我的世界无正版账号的简单联机方法(非网易版,仅适用于局域网)
- “我的语言极限,即是我的世界的极限。” ——《On Java》书籍推荐
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)