欢迎光临 - 我的站长站,本站所有资源仅供学习与参考,禁止用于商业用途或从事违法行为!

服务器配置

nginx屏蔽搜索引擎蜘蛛爬虫配置方法

服务器配置 我的站长站 2023-11-07 共170人阅读

1、屏蔽User-Agent

User-Agent是指浏览器或爬虫发送给服务器的HTTP请求头部信息之一,通过检查User-Agent来判断请求是否来自搜索引擎爬虫。

检查HTTP请求头部中是否包含bot、crawl或spider等字眼,如果包含则返回403错误码,拒绝该请求。

if ($http_user_agent ~*"bot|crawl|spider"){
    return 403;
}

2、屏蔽蜘蛛IP地址

拒绝IP地址为123.45.67.89的访问请求,并允许其他IP地址访问该页面。多个IP用空格隔开,搜索引擎的蜘蛛IP可以去网上找。

location /{    
    deny 123.45.67.89;    
    allow all;
}

3、屏蔽Referer

Referer是指从哪个页面链接过来的信息,在防止爬虫方面也有一定作用。检查HTTP请求头部中是否包含来自谷歌、雅虎或必应等搜索引擎的Referer,如果包含则返回403错误码,拒绝该请求。

if ($http_referer ~*(google|yahoo|bing)){
    return 403;
}

4、屏蔽Cookie

检查HTTP请求头部中是否包含名为crawlercookie的Cookie,如果包含则返回403错误码,拒绝该请求。

if ($http_cookie ~*"crawlercookie"){    
return 403;
}

5、屏蔽URL参数

检查请求URL中是否包含名为searchengine的参数,如果包含则返回403错误码,拒绝该请求。

if ($args ~*"searchengine"){    
    return 403;
}

6、限制访问频率

我们可以使用Nginx提供的limit_req模块来限制爬虫的访问频率。限制每个爬虫IP地址每秒钟只能访问5次,超过这个频率则会返回503错误码。

limit_req_zone $binary_remote_addr zone=bot:10m rate=5r/s;server {    
location /{        
    limit_req zone=bot burst=10 nodelay;   
 }}

7、限制访问速度

限制每个爬虫IP地址每秒钟只能下载10KB的数据,超过这个速度则会被限制。

location /{   
    limit_rate 10k;
}

8、屏蔽反向dai理

我们可以使用Nginx作为反向dai理服务器,屏蔽搜索引擎爬虫。将请求转发到后端服务器,并在检查User-Agent之后返回403错误码。

location /{    
    proxy_pass ;   
    proxy_set_header Host $host;    
    if ($http_user_agent ~*"bot|crawl|spider"){        
        return 403;   
    }
}

9、Robots.txt屏蔽

Robots.txt是一种文本文件,用于告诉搜索引擎哪些页面可以被抓取,哪些页面不能被抓取。将请求/robots.txt的页面指向/var/www/目录下的robots.txt文件,从而实现屏蔽搜索引擎爬虫的目的。

location /robots.txt {    
    alias /var/www/robots.txt;
}


相关专题
nginx
nginx
2022-11-28 31

Nginx是高性能HTTP与反向代理Web服务软件,具备低资源消耗、高并发稳定的优势,是站长建站主流环境组件。本站整理全套Nginx学习资料,包含一键安装步骤、基础配置指南...