服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - Nginx - 教你使用Nginx限制百度蜘蛛频繁抓取的问题

教你使用Nginx限制百度蜘蛛频繁抓取的问题

2022-07-27 11:05ning235 Nginx

这篇文章主要介绍了使用Nginx限制百度蜘蛛频繁抓取的问题,百度蜘蛛对网站的抓取频率高和抓取量骤增导致服务器负载高,经常收到警告信息,每分钟允许百度蜘蛛抓取200次,超过频率限制的返回503,对Nginx限制蜘蛛频繁抓取相关知

百度蜘蛛对网站的抓取频率高和抓取量骤增导致服务器负载高,经常收到警告信息。最终采用nginx的ngx_http_limit_req_module模块限制了百度蜘蛛的抓取频率。每分钟允许百度蜘蛛抓取200次,超过频率限制的返回503。

limit_req_zone

语法: limit_req_zone $variable zone=name:size rate=rate;

默认值: none

配置段: http

设置一块共享内存限制域的参数,它可以用来保存键值的状态。 它特别保存了当前超出请求的数量。 键的值就是指定的变量(空值不会被计算)。

这里键值使用客户端的agent, 使用$http_user_agent变量。 如果限制域的存储空间耗尽了,对于后续所有请求,服务器都会返回 503 (Service Temporarily Unavailable)错误。

请求频率可以设置为每秒几次(r/s)。如果请求的频率不到每秒一次, 你可以设置每分钟几次(r/m)。比如每秒半次就是30r/m。

全局配置nginx.conf

?
1
limit_req_zone $ning_spider zone=ning_spider:10m rate=200r/m;

某个server中

?
1
2
3
4
if ($http_user_agent ~* "baiduspider|Googlebot") {
 set $ning_spider $http_user_agent;
 }
 limit_req zone=ning_spider burst=5 nodelay;

参数说明:

指令linit_req_zone 中的rate=200r/m 表示每分钟只能处理200个请求。

指令limit_req 中的burst=5 表示最大并发为5。即同一时间只能同时处理5个请求。

指令limit_req 中的nodelay 表示当已经达到burst值时,再来新请求时,直接返回503IF部分用于判断是否是百度蜘蛛的user agent。如果是,就对变量$ning_spider赋值。这样就做到了只对百度蜘蛛进行限制了。

测试,速率达不上可以同时开多个以下脚本测试

?
1
[root@localhost ~]# cat test.sh
?
1
2
3
4
5
6
7
8
9
#! /bin/bash 
sum=0; 
for i in {1..1000} 
do
((sum = sum + i)) 
curl -I -A "Baiduspider" http://www.hezongtianxia.com
curl -I -A "Sogou web spider" http://www.hezongtianxia.com
done
echo $sum
?
1
tailf /home/wwwlog/access.log|grep 503

参考:http://tengine.taobao.org/nginx_docs/cn/docs/http/ngx_http_limit_req_module.html

到此这篇关于使用Nginx限制百度蜘蛛频繁抓取 的文章就介绍到这了,更多相关Nginx限制蜘蛛频繁抓取 内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.51cto.com/ning235/4954349

延伸 · 阅读

精彩推荐
  • Nginxcentos服务器中配置nginx的方法示例

    centos服务器中配置nginx的方法示例

    这篇文章主要介绍了centos服务器中配置nginx的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友...

    少年版6892020-01-09
  • NginxNginx配置SSL和WSS步骤介绍

    Nginx配置SSL和WSS步骤介绍

    大家好,本篇文章主要讲的是Nginx配置SSL和WSS步骤介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览...

    jockerwu9422022-01-17
  • Nginxnginx配置location方法总结

    nginx配置location方法总结

    这篇文章主要介绍了nginx配置location方法总结,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 ...

    Hello-YOYO2362020-01-03
  • Nginxnginx服务器通过配置来解决API的跨域问题

    nginx服务器通过配置来解决API的跨域问题

    这篇文章主要给大家介绍了关于nginx服务器是如何配置来解决API跨域问题的相关资料,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友...

    YoYong6272019-11-28
  • NginxNginx配置详解(推荐)

    Nginx配置详解(推荐)

    Nginx功能丰富,可作为HTTP服务器,也可作为反向代理服务器,邮件服务器。支持FastCGI、SSL、Virtual Host、URL Rewrite、Gzip等功能 ...

    张龙豪4452019-11-28
  • Nginx为什么Nginx的性能要比Apache高很多

    为什么Nginx的性能要比Apache高很多

    这篇文章主要介绍了为什么Nginx的性能要比Apache高很多,需要的朋友可以参考下 ...

    nginx教程网5252020-08-24
  • NginxNginx常见的错误配置举例

    Nginx常见的错误配置举例

    这篇文章主要介绍了Nginx常见的错误配置举例,帮助大家更好的理解和学习使用Nginx,感兴趣的朋友可以了解下...

    罗恩9792021-04-27
  • NginxNginx 操作响应头信息的实现

    Nginx 操作响应头信息的实现

    这篇文章主要介绍了Nginx 操作响应头信息的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面...

    he_xd5062020-01-08