nginx降低爬虫的效率
  6tuRdFP5lxfF 2023年11月02日 34 0

环境

nginx1.20 理由不说了,就是通过Nginx 一些策略来帮助防止爬虫或恶意访问

配置

  1. User-Agent检测 爬虫通常会使用特定的User-Agent来标识自己,Nginx可以通过检测User-Agent字符串并拒绝使用非法的User-Agent的请求。
if ($http_user_agent ~* "badcrawler") {
    return 403; // 拒绝爬虫请求
}
  1. ip黑名单 Nginx允许你配置一个IP黑名单,将某些IP地址列入黑名单后可以拒绝其访问。
http {
    ...
    
    include blacklist.conf;
    
    ...
}
  1. 限制并发连接数 通过配置Nginx的limit_conn模块来限制单个IP的并发连接数,这可以防止爬虫过度占用服务器资源。
http {
    ...
    
    limit_conn_zone $binary_remote_addr zone=concurrent:10m;
    
    server {
        listen 80;
        ...
        
        location / {
            limit_conn concurrent 10;
            ...
        }
    }
}
  1. 频率限制 使用Nginx的limit_req模块来限制单个IP对某个URL的请求频率,这可以防止爬虫过于频繁地访问
http {
    ...
    
    limit_req_zone $binary_remote_addr zone=req_rate_limit:10m rate=5r/s;
    
    server {
        listen 80;
        ...
        
        location /api/ {
            limit_req zone=req_rate_limit burst=10 nodelay;
            ...
        }
    }
}
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  P3nxyT0LRuwj   2023年11月28日   22   0   0 nginxhtmlWeb
  jnZtF7Co41Wg   2023年12月11日   27   0   0 nginx客户端服务端
  jnZtF7Co41Wg   2023年11月28日   19   0   0 nginx文件名linux命令
  stLBpDewCLT1   2023年12月08日   27   0   0 nginx
  jnZtF7Co41Wg   2023年12月10日   20   0   0 nginx客户端服务端NFS
  eHipUjOuzYYH   2023年12月06日   25   0   0 nginxHTTP
  eHipUjOuzYYH   2023年12月06日   22   0   0 nginx加载IPV6
6tuRdFP5lxfF