nginx 防盗链防爬虫配置详解_nginx

来源:脚本之家  责任编辑:小易  

自己写的网站,不知2113道为啥总5261是有很多恶意访问的ip,根本不是正常4102的用户访问之前也有想过1653是否可能是运营商的代理服务器出口ip,但是看起来好像也不像,先不管,ban掉再说那如何来ban呢,规则比较简单,就是超过一个阈值之后,就用下面的iptables命令iptables -I INPUT -s -j DROPservice iptables saveservice iptables restart那如何统计nginx的访问ip呢,目前来说比较简单就是读取nginx的access.log文件,然后分析一下,如果一天超过阈值,我们就执行上面的命令,ban掉ipwww.zgxue.com防采集请勿采集本网。

 新建配置配置文件 (例如进入到nginx安装目录下的conf目录,创建: agent_deny.conf)

默认的路径是你安装时候指定的 如果用的LNMP之类的安装包 你可以在SHELL下 whereisnginx 找到相应的路径之后 在NGINX下的CONF文件夹里看配置文件,日志文件如果记录了话 在配置文件里有路径的~

禁止Scrapy等工具的抓取 if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) { return 403; }

禁止指定UA及UA为空的访问

#forbidden Scrapyif ($http_user_agent ~* (Scrapy|Curl|HttpClient)){ return 403;}#forbidden UAif ($http_user_agent ~ "Bytespider|FeedDemon|JikeSpider|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit|Java|Feedly|UniversalFeedParser|ApacheBench|Microsoft URL Control|Swiftbot|ZmEu|oBot|jaunty|Python-urllib|lightDeckReports Bot|YYSpider|DigExt|YisouSpider|HttpClient|MJ12bot|heritrix|EasouSpider|Ezooms|^$" ){ return 403;}#forbidden not GET|HEAD|POST method accessif ($request_method !~ ^(GET|HEAD|POST)$){ return 403;}

然后,在网站相关配置中的 server段插入如下代码: include agent_deny.conf;

重启nginx:

/data/nginx/sbin/nginx -s reload

测试 使用curl -A 模拟抓取即可,比如:

curl -I -A 'YYSpider' <<www.xxx.con>>

结果

[root@11 conf]# curl -I -A 'YYSpider' www.xxx.cn

HTTP/1.1 403 Forbidden

Server: nginx/1.12.0

Date: Wed, 24 Apr 2019 11:35:21 GMT

Content-Type: text/html

Content-Length: 169

Connection: keep-alive

模拟UA为空的抓取:

curl -I -A' ' <<www.xxx.cn>>

结果

[root@11 conf]# curl -I -A' ' www.xxx.cn

HTTP/1.1 403 Forbidden

Server: nginx/1.12.0

Date: Wed, 24 Apr 2019 11:36:06 GMT

Content-Type: text/html

Content-Length: 169

Connection: keep-alive

模拟百度蜘蛛的抓取:

curl -I -A 'Baiduspider' <<<www.xxx.cn>>>

[root@11 conf]# curl -I -A 'Baiduspider' www.xxx.cn

HTTP/1.1 200 OK

Server: nginx/1.12.0

Date: Wed, 24 Apr 2019 11:36:47 GMT

Content-Type: text/html

Content-Length: 612

Last-Modified: Fri, 12 Apr 2019 13:49:36 GMT

Connection: keep-alive

ETag: "5cb09770-264"

Accept-Ranges: bytes

UA类型

FeedDemon 内容采集BOT/0.1 (BOT for JCE) sql注入CrawlDaddy sql注入Java 内容采集Jullo 内容采集Feedly 内容采集UniversalFeedParser 内容采集ApacheBench cc攻击器Swiftbot 无用爬虫YandexBot 无用爬虫AhrefsBot 无用爬虫YisouSpider 无用爬虫(已被UC神马搜索收购,此蜘蛛可以放开!)jikeSpider 无用爬虫MJ12bot 无用爬虫ZmEu phpmyadmin 漏洞扫描WinHttp 采集cc攻击EasouSpider 无用爬虫HttpClient tcp攻击Microsoft URL Control 扫描YYSpider 无用爬虫jaunty wordpress爆破扫描器oBot 无用爬虫Python-urllib 内容采集Indy Library 扫描FlightDeckReports Bot 无用爬虫Linguee Bot 无用爬虫

nginx 防盗链配置

背景:防止第三方引用链接访问我们的图片,消耗服务器资源和网络流量,我们可以在服务器上做防盗链限制。

实现防盗链的方式有两种:refer方式和签名方式。

refer方式实现防盗链

工作模块:ngx_http_referer_module。

作用变量:$invalid_referer,全局变量。

配置域:server, location

配置:

server { listen 80; server_name www.imcati.com refer-test.imcati.com; root /usr/share/nginx/html; location ~*\.(gif|jpg|jpeg|png|bmp|swf)$ { valid_referers none blocked www.imcati.com; if ($invalid_referer) { return 403; } } } valid_referers: 指定资源访问是通过以下几种方式为合法,即白名单。 vaild_referers 有效的引用连接,如下,否则就进入$invaild_refere,返回403 forbiden。 none:允许缺失的头部访问。 blocked:允许referer没有对应值的请求。 server_names:若referer站点域名与server_name中本机配的域名一样允许访问。

到此这篇关于nginx 防盗链防爬虫配置详解的文章就介绍到这了,更多相关nginx 防盗链防爬虫配置内容请搜索真格学网以前的文章或继续浏览下面的相关文章希望大家以后多多支持真格学网! 您可能感兴趣的文章:nginx利用referer指令实现防盗链配置Nginx防盗链的3种方法Nginx防盗链的配置方法Nginx配置防盗链的完整步骤配置Nginx的防盗链的操作方法Nginx学习之如何搭建文件防盗链服务的方法示例

||方法一:4102修改nginx.confserver { listen 80; server_name www.ready.com; #添加如下内容即1653可防止爬专虫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; }方法2:网站更目录下增加Robots.txt内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • 记录nginx服务器的split clients模块配置过程
  • nginx配置访问图片路径以及html静态页面的调取方法
  • nginx 上传大文件超时解决办法
  • 详解nginx实现ssl反向代理实战
  • 在网关中使用nginx配置http透明代理案例
  • nginx代理时header头中带"_"信息丢失问题的解决
  • mac中使用nginx实现80端口转发8080端口
  • nginx反向代理与负载均衡实战篇
  • nginx服务器access日志中大量400 bad request错误的解决方法
  • 在nginx服务器上屏蔽ip的一些基本配置方法分享
  • nginx网站目录怎样防止爬虫
  • nginx如何分析是不是爬虫导致的
  • 分析nginx日志怎么辨别哪些访问来自爬虫?
  • Linux/Nginx如何查看搜索引擎蜘蛛爬虫的行为
  • linux下nginx如何启用网站日志,查看蜘蛛爬虫
  • Linux/Nginx如何查看搜索引擎蜘蛛爬虫的行
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全星外虚拟主机华众虚拟主机linuxwin服务器ftp服务器dns服务器tomcat nginxzabbix云和虚拟化服务器其它首页服务器nginxnginx利用referer指令实现防盗链配置nginx防盗链的3种方法nginx防盗链的配置方法nginx配置防盗链的完整步骤配置nginx的防盗链的操作方法nginx学习之如何搭建文件防盗链服务的方法示例记录nginx服务器的split clients模块配置过程nginx配置访问图片路径以及html静态页面的调取方法nginx 上传大文件超时解决办法详解nginx实现ssl反向代理实战在网关中使用nginx配置http透明代理案例nginx代理时header头中带"_"信息丢失问题的解决mac中使用nginx实现80端口转发8080端口nginx反向代理与负载均衡实战篇nginx服务器access日志中大量400 bad request错误的解决方法在nginx服务器上屏蔽ip的一些基本配置方法分享nginx提示:500 internal servernginx 多站点配置方法集合权限问题导致nginx 403 forbiddenginx fastcgi错误primary scripnginx服务器的反向代理proxy_pasnginx 403 forbidden的解决办法nginx伪静态配置和常用rewrite伪详解nginx服务器中配置超时时间的nginx下301重定向域名的方法小结windows下nginx+php5的安装与配置18个运维必知的nginx代理缓存配置技巧(你nginx配置文件nginx.conf中文注释说明nginx限制带宽配置示例升级nginx支持http/2服务端推送的方法详解nginx 利用代理转发请求示例在nginx中使用x-sendfile头提升php文件下nginx虚拟主机配置实例详解nginx服务器屏蔽与禁止屏蔽网络爬虫的方法window下使用nginx提供文件下载服务器配置
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved