新手也能学会的反爬虫技术部署指南(Nginx +

新手先了解:常见反爬虫手段怎么选?

反爬虫技术部署并不复杂,但不同场景需要的方案不一样。
对个人站长或中小站点来说,最实用的不外乎三种:限制请求频率(防高频攻击)、拦截特征明显的爬虫(比如空 User-Agent 或已知爬虫 UA)、动态验证码(防自动化脚本)。
本文会带你依次在宝塔面板和 Nginx 配置里把这些功能用起来,全部操作都在可视化界面或简单配置文件中完成,不用写代码。

开始动手前需要准备什么

  • 一台已安装宝塔面板(免费版即可)的 Linux 服务器,例如 CentOS 7 或 Ubuntu 20.04。
  • 站点已经正常解析并运行(Nginx 环境)。
  • 有宝塔面板管理员账号,以及服务器的 SSH 登录权限(备用)。
  • 建议先备份站点配置文件(宝塔面板 → 软件商店 → Nginx → 设置 → 配置备份)。

宝塔面板三步搞定频率限制和 IP 黑名单

宝塔面板的 Nginx 防火墙(收费插件)或者 网站管理 → 防盗链/限制 IP 功能都能直接做基础防护。
这里用免费自带的方法:

  1. 限制单 IP 请求频率

在宝塔面板的 网站 → 选择你的站点 → 设置访问控制频率限制 中开启。

  • 设置 单 IP 每秒请求数 为 5~10(普通用户足够,爬虫容易触发)。
  • 触发后封禁时长设为 300 秒(5 分钟)。
  • 点击保存后立即生效。
  1. 添加 IP 黑名单

如果日志里发现某个 IP 持续爬取,进入 网站设置访问控制IP 黑名单,直接粘贴 IP 或网段(例如 192.168.1.0/24),保存即可。

  1. 限制空 User-Agent 爬虫

很多初级爬虫不设置 UA 头。
网站设置反向代理配置文件 中,找到 location / { ... } 区域,添加:

    if ($http_user_agent = "") {
        return 403;
    }

保存设置后重启 Nginx。
这个配置能挡住大部分“裸奔”的爬虫。

Nginx 高级玩法:拦截异常爬虫和限制请求方法

如果你愿意手动改配置文件,还可以做更精细的反爬虫技术部署。
通过 SSH 登录服务器后,编辑站点配置文件(宝塔面板 → 网站 → 设置 → 配置文件),在 server 块内加入:

  • 拦截已知恶意爬虫 UA
    if ($http_user_agent ~* (Bytespider|HTTrack|Scrapy|python-requests|curl)) {
        return 403;
    }

这样像 Bytespider、HTTrack 等工具就被拒绝了。

  • 限制非 GET/HEAD 请求(防止脚本批量 POST)
    if ($request_method !~ ^(GET|HEAD)$ ) {
        return 405;
    }

(注意:如果你的站点需要 POST 提交,不要加这条,否则正常用户无法提交表单。

  • 增加 IP 连接频率限制(依赖 ngx_http_limit_req_module)

http 块或 server 块中声明:

    limit_req_zone $binary_remote_addr zone=mylimit:10m rate=2r/s;
    # 然后在 location 中使用:
    limit_req zone=mylimit burst=4 nodelay;

这个配置对每个 IP 每秒只允许 2 个请求,超过的会排队或直接拒绝,能有效压制爬虫。

修改完后记得 nginx -t 测试配置无误,再 systemctl reload nginx 生效。

部署后怎么验证好用,有哪些坑要注意

验证方法

  • 用浏览器访问你的站点,看是否正常。
  • 在命令行用 curl -A "" https://你的域名 测试空 UA 是否返回 403。
  • curl -A "python-requests" https://你的域名 测试是否被拦截。
  • 连续快速刷新页面 10 次,看看是否会触发频率限制(出现 503 或提示)。

避坑说明

  • 频率限制数值不要过低:每秒 2~3 次正常用户也可能因为翻页、加载图片而触发,建议先从 10 次/秒开始,观察一周再收窄。
  • User-Agent 拦截要小心误杀:一些正规搜索引擎(百度、谷歌)的爬虫 UA 也会包含 curl 字样(少见),更好的做法是用白名单模式只放行你需要支持的搜索引擎 UA。
  • 不要依赖单一手段:多层防护组合才可靠(IP限频 + UA过滤 + 验证码)。
  • 记得定期查看站点访问日志:宝塔面板 → 网站 → 日志 → 错误日志,看是否有大量 403/503 记录,据此调整策略。

如果部署后发现有正常用户被误封,可以先暂时关闭对应规则,调整参数后再开启。
反爬虫技术部署是一个持续优化的过程,没有一劳永逸的方案。

分享到:
上一篇
AI爬虫开发入门:从零搭建一个智能网页信息提取工具
下一篇
IP代理池搭建:零基础搭建IP代理池完整教程(附代码)
1
系统公告

高考专属福利来袭|凭准考证免费领香港 CN2 云服务器

值高考落幕之际,泽御云开启考生专属回馈 + 产品限时特惠双重活动,助力学子暑期学习建站 高考 考生专属福利 全体应届高考生,凭高考准考证即可免费申领【香港 CN2 轻量云服务器,4 核 4G AMD 处理器】,免费使用周期 30 天,可用于搭建个人站点、编程实操、技术实训,祝各位考生金榜题名,前程似锦! 泽御云资质齐全合规自营机房,线路覆盖香港 CN2、国内 BGP、内蒙电信、美国精品线路,售后全天候技术支持。 官方网站:www.zeyuyun.com,活动限时有效,优惠逾期不再保留。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意