首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

利用nginx来屏蔽指定的user_agent的访问以及根据user_agent做跳转

通过判断user agent,在nginx中禁用这些蜘蛛可以节省一些流量,也可以防止一些恶意的访问。 方法一:修改nginx.conf,禁止网络爬虫的user_agent,返回403。...nginx的配置目录,例如cd /usr/local/nginx/conf 2、添加agent_deny.conf配置文件 vim agent_deny.conf server层加入以下内容: #禁止Scrapy...等爬虫工具的抓取 if ($http_user_agent ~* "Scrapy|Sogou web spider|Baiduspider") { return 403; } #禁止指定UA及UA为空的访问...知识扩展: robots.txt是搜索引擎中访问网站的时候要查看的第一个文件。robots.txt文件告诉蜘蛛程序在服务器上什么文件是可以被查看的。...(在正式环境中,可以适当允许搜索引擎抓取收录) -----------------------------------------------------------------------------

5.7K51

【说站】nginx宝塔面板如何屏蔽垃圾蜘蛛禁止抓取不影响火车头发布

#禁止Scrapy等工具的抓取if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) {return 403;}#禁止指定UA及UA为空的访问if ($http_user_agent...|DigExt|HttpClient|MJ12bot|heritrix|Bytespider|Ezooms|Googlebot|JikeSpider|SemrushBot|^$" ) {return 403...2.找到网站设置里面的第7行左右 写入代码: include agent_deny.conf; 如果你网站使用火车头采集发布,使用以上代码会返回403错误,发布不了的。...如果想使用火车头采集发布,请使用下面的代码 #禁止Scrapy等工具的抓取if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) {return 403;}#...~ ^(GET|HEAD|POST)$) {return 403;} 最后重启重启nginx,就可以在网站日志里看到防御效果了。 收藏 | 0点赞 | 0打赏

3.4K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    为你的爬虫添加 IP 池反反爬策略

    请求失败,请求所希望得到的资源未被在服务器上发现 5xx服务器错误 这类状态码代表了服务器在处理请求的过程中有错误或者异常状态发生,也有可能是服务器意识到以当前的软硬件资源无法完成对请求的处理....在爬虫过程中,我们最想看到的状态码是 200,最不想看到的是 403,当你看到 403,有相当大可能是你的爬虫被封了。...应对方式1 减少请求数量,减少请求密度 在 Scrapy 中可以设置并发请求的数量,也可以设置下载延迟。前面提到我爬取的 IP 池网站,就是没有设置下载延迟,很快就被网站封了 IP。...在 Scrapy 中你需要做的有: 爬取并存储可用 IP(当然,RMB玩家可以直接购买接口使用) 编辑并启用 IP 池中间件 提供 IP 池的网站有不少,并且大部分会提供免费易黄版和RMB玩家稳定版,我使用的是免费版...,这里介绍两个 https://www.kuaidaili.com http://www.xicidaili.com/ 在爬取中务必设置合适的速度,否则还没爬到 IP 自己的先被封了。

    84220

    k8s Ingress nginx错误页面的深度定制

    1、错误页面状态码 2、在k8s中模拟错误页面 3、默认后端错误页面 3.1 部署默认后端 3.2 配置启动参数 3.3 修改configmap 3.4 测试 4、自定义错误页面 4.1 剖析请求与关键...引文参考:https://www.netinbag.com/cn/internet/what-are-error-pages.html 1、错误页面状态码 网站运行过程中难免出现问题,为用户抛出一个错误页面...Eroor 502 Bad Gateway 503 Service Unavailable 504 Gateway Timeout 2、在k8s中模拟错误页面 本文中涉及到的的k8s集群版本、Ingress...对于k8s中通过Ingress nginx暴露的服务来说,可以在Ingress-controller配置默认后端错误页面。 可以参照官方的文档说明,配置流程如下。...可以看到,在传递默认后端时,设置了多个请求头字段,其中X-Code即状态码正是所需要的,这里意味着将控制器返回的对应状态码,例如500定义在了X-Code中。

    2.8K31

    linux学习第四十六篇:Nginx防盗链,Nginx访问控制,Nginx解析php相关配置,Nginx代理

    测试: curl -x127.0.0.1:80 test.com/admin/ -I curl -x192.168.118.129:80 test.com/admin/ -I 没有在白名单里的...ip访问网站限制的admin目录的时候就会出现403 ?...效果一样 curl测试,-A是模拟user_agent: Tomato是在限制的user_agent名单里,所以不能访问,这里是没有忽略大小写了 如果要忽略大小写,可在if语句的 ~ 后面加上...PS: 常见的502错误 1.配置错误 因为nginx找不到php-fpm了,所以报错,一般是fastcgi_pass后面的路径配置错误了,后面可以是socket或者是ip:port...nginx找不到php-fpm就会出现502错误, 解决方案 去调整php-fpm.conf中的pm.max_children数值,使其增加,但是也不能无限增加,毕竟资源有限,一般4G内存机器如果跑

    1.6K50

    Scrapy+Chromium+代理+

    上周说到scrapy的基本入门。这周来写写其中遇到的代理和js渲染的坑。 js渲染 js是爬虫中毕竟麻烦处理的一块。通常的解决办法是通过抓包,然后查看request信息,接着捕获ajax返回的消息。...---- 修改Scrapy的Middleware 使用了chromium之后,我们在middlewares.py文件修改一下。我们的设想是让chromium来替代掉request请求。...所以我们做的代理也不能在Scrapy中来处理。 我们需要直接用chromium来处理IP代理问题。...request.meta['proxy'] = "https://proxy.com:8080" # Use the following lines if your...但是,如果你开启了headless模式,这个方法会提示错误。所以解决办法就是,关闭headless模式。 至于怎么在没有gui的情况下使用chromium。

    1.1K30

    Python Requests代理使用入门指南

    你是否曾因为代理服务器配置不当而遭遇403错误代码?或是在测试API时收到未授权访问错误?这些常见的客户端错误不仅令人头疼,还会影响工作效率。...403错误表示请求被拒绝,可能是由于访问权限不足或认证失败,需加以处理。 初学者在使用代理时,应关注日志记录与调试,以快速诊断和解决代理问题。...在 Requests 中配置 HTTP 代理相对简单,只需在请求方法中传递一个字典,字典的键为协议类型(如 'http' 或 'https'),值则是代理服务器的地址和端口。...针对403错误,用户应首先检查代理服务器的访问控制规则,确保他们有足够的权限。如果权限合理,问题可能出现在用户的凭证中,如果凭证无效,服务器将拒绝访问。...诊断和解决代理问题 常见的代理错误及其原因 在使用代理时,用户可能会遇到多种错误,其中403 Unauthorized 是最常见的一种。

    44210

    Linux基础(day51)

    45:54 GMT Connection: keep-alive ETag: "5a529512-a" Accept-Ranges: bytes [root@hf-01 ~]# 如果想忽略大小写,在配置文件中的匹配符号后加...502的问题时,需要查看你配置的地址是否正确,首先查看错误日志,然后根据错误日志中提示,查看这个文件是否存在,在查看cat /usr/local/php-fpm/etc/php-fpm.conf你定义的...sock是什么,那么在nginx的配置文件中写什么 [root@hf-01 ~]# [root@hf-01 ~]# ls /tmp/php-afcgi.sock ls: 无法访问/tmp/php-afcgi.sock...,所以只要配置文件中的 fastcgi_pass unix:/tmp/php-fcgi.sock; 地址错误,就会显示502 502的另一种情况 假设这时不监听sock,而去监听IP端口 首先更改配置vim...$proxy_add_x_forwarded_for; } } 保存退出 配置文件中,没有了root,因为这是一个代理服务器,它不需要访问本地服务器上的任何文件 在配置完成后,这台虚拟机就可以访问

    1.3K50

    服务器反爬虫攻略:ApacheNginxPHP禁止某些User Agent抓取网站

    进入到 nginx 安装目录下的 conf 目录,将如下代码保存为 agent_deny.conf cd /usr/local/nginx/conf  vim agent_deny.conf  #禁止Scrapy...等工具的抓取  if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) {       return 403;  }  #禁止指定UA及UA为空的访问  if...~ ^(GET|HEAD|POST)$) {      return 403;  }  然后,在网站相关配置中的 location / { 之后插入如下代码: Shell include agent_deny.conf...;      }  }  四、测试效果 如果是 vps,那非常简单,使用 curl -A 模拟抓取即可,比如: 模拟宜搜蜘蛛抓取: Shell curl –I –A ‘YisouSpider’ bizhi.bcoderss.com...  模拟 UA 为空的抓取: Shell curl –I –A ” bizhi.bcoderss.com  模拟百度蜘蛛的抓取: Shell curl –I –A ‘Baiduspider’ bizhi.bcoderss.com

    1.6K20
    领券