教程 · 编程上线
小站被爬虫拖垮:先限流再加缓存,别只写 robots
通过访问日志识别异常抓取,用限流、缓存和 robots 声明降低负载,同时不误伤正常用户。
前置:站点出现访问变慢或带宽异常,能查看服务器访问日志。
材料:访问日志、服务器配置、缓存配置、robots 文件
材料:访问日志、服务器配置、缓存配置、robots 文件
步骤
1. 先从日志找特征
按 IP、UA 和请求路径统计访问频率,找出高频访问的来源和规律;没有数据就封禁,很容易误伤真实用户。
2. 写 robots 表明意愿
用 robots.txt 声明不希望被抓取的路径,但要清楚它只是声明,不遵守的爬虫不会因此停下;合规抓取的边界以站点条款和当地法规为准。
3. 按来源做限流
对单个 IP 或 UA 设置请求频率上限,超出后返回限流状态;阈值先观察正常访问的峰值再定,避免把正常用户挡在外面。
4. 给动态页面加缓存
把不常变的列表页和详情页做页面缓存或静态化,减少数据库压力;限流是防守,缓存才是真正的减负,缓存键要带版本号。
5. 监控并保留例外
持续看请求量和响应时间,给搜索引擎和合作方保留白名单;限流规则上线后要观察误伤情况,及时调整,白名单定期复核。
做完检查
- 正常用户的访问速度和成功率没有下降
- 异常高频来源已被限流
- 缓存命中率上升,数据库压力下降
常见错误
- 只写 robots 就以为爬虫会停
- 按 IP 大范围封禁,误伤正常用户
- 限流阈值拍脑袋定,没看正常峰值
相关工具
同类教程
本地能跑线上 404:先查文件名大小写,再查构建产物
定位大小写、扩展名和路径别名导致的资源 404,用构建产物和大小写敏感环境验证修复。
查看 →密钥被打进了前端包:先分清公开变量和私密变量
识别构建时被内联到前端的变量,把密钥移到服务端并轮换已泄露的凭证。
查看 →单页应用刷新就 404:把未知路径回退到 index.html
配置服务器或托管平台的路由回退规则,让前端路由的深链接刷新和直接访问都能正常打开。
查看 →更新时间:2026-10-29 · 平台规则/软件版本会变;操作前保留原件,以实际页面为准。
跨库学习路径
按共同关键词匹配,不是随机推荐;从任务到提示词/教程/项目继续走。