Nginx服务器如何屏蔽与禁止屏蔽网络爬虫
发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,这篇文章将为大家详细讲解有关Nginx服务器如何屏蔽与禁止屏蔽网络爬虫,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。每个网站通常都会遇到很多非搜索引擎的爬虫,这些爬
千家信息网最后更新 2025年01月22日Nginx服务器如何屏蔽与禁止屏蔽网络爬虫
这篇文章将为大家详细讲解有关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 www.xxx.com; #charset koi8-r; #access_log logs/host.access.log main; #location / { # root html; # index index.html index.htm; #} 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 ~ ^/(.*)$ { proxy_pass http://localhost:8080; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # #location ~ \.php$ { # root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; # include fastcgi_params; #} # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} }
可以用 curl 测试一下
curl -I -A "qihoobot" www.xxx.com
关于"Nginx服务器如何屏蔽与禁止屏蔽网络爬虫"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
爬虫
服务器
网络
服务
篇文章
内容
变量
引擎
搜索引擎
更多
正则
搜索
不错
实用
位置
入口
初学者
大小
大部分
带宽
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
哈尔滨网络安全局地址
软件开发二手市场
陇南软件开发哪家好
绝地服务器炸后会怎么样
腾讯云服务器登陆地址
数据库两张表如何建立联系
高性能大学生服务器多少钱
行人检测数据库
什么是数据库定义语句
服务器内存用多大
黄浦区一站式网络技术质量推荐
梅州专业软件开发批发价
北京渠道网络技术开发
网络安全法所指网络安全
护苗 网络安全系列课微视频
郑州aaa软件开发学院
互联网出现在哪次科技革命
东莞哪里招聘网络安全工程师
鸿蒙系统软件开发问题
学校网络安全的情况
浙江电脑软件开发服务
网络技术行业开票是几个点
河南网络安全宣传周专题
公安部网络安全保卫局能考吗
flink需要的服务器配置
厦门做小程序软件开发多少钱
我的世界手机版猎人逃杀服务器
网络安全知识问答试卷
三级数据库自学方法
一列怎么生成一样的数据库