宝塔 Nginx 防火墙拦了 ChatGPT、Perplexity 爬虫?检查这四个地方
更新于 2026-11-03
宝塔 Nginx 防火墙的旧版说明(2024)写的是放行百度、谷歌、必应、360、搜狗、头条、神马等搜索引擎蜘蛛;新版的规则优先级里已经看不到“蜘蛛池”这一项,具体放行逻辑以你装的版本为准。不管哪一版,名单里都没有 OAI-SearchBot、PerplexityBot 这类 AI 搜索爬虫,最稳的做法都是把它们加进 UA 或 IP 白名单。宝塔官方论坛里已有站长反馈 OAI-SearchBot、Applebot 被防火墙封掉。
1. 非浏览器拦截
宝塔的说明是:这项“拦截非浏览器请求,通过 UA 判断是否是爬虫”,并说明“不会拦截真实的蜘蛛爬虫”。AI 爬虫不在它的蜘蛛名单里,很可能被当作非浏览器请求拦掉。要么关掉这项,要么把 AI 搜索爬虫加进 UA 白名单。
2. 禁止海外访问
按各家公布的 IP 段,OAI-SearchBot、PerplexityBot 等 AI 搜索爬虫都从海外机房发出请求。开了“禁止海外访问”,它们基本进不来。宝塔官方论坛 2026 年 9 月的答复还提到,“蜘蛛 IP 放行”和“禁止海外访问”存在冲突(已知问题),连 Googlebot 也会时拦时放,建议把爬虫 IP 段加到 IP 白名单(路径:安全 → Nginx 防火墙 → 全局配置 → IP 白名单)。
IP 段以爬虫官方公布的为准,例如 OpenAI 的 searchbot.json、chatgpt-user.json,各爬虫的出处见 AI 爬虫百科。
3. UA 白名单与 UA 黑名单
宝塔的规则顺序里,UA 白名单排在大多数拦截规则之前。白名单按关键词匹配,填 OAI-SearchBot、PerplexityBot、Claude-SearchBot、ChatGPT-User 即可。同时检查 UA 黑名单和“User-Agent 过滤”里有没有 bot、spider、python 这类宽泛关键词,它们会误伤。
注意:宝塔说明里写明 UA 白名单命中后“直接跳过任何拦截”,包括 CC 防御。UA 可以伪造,所以只填具体的爬虫名,不要填 bot 这样的宽泛词;更稳妥的是 IP 白名单。
4. 伪静态与 Nginx 配置
很多站长按网上教程在 网站 → 设置 → 伪静态 或配置文件里写了 if ($http_user_agent ~* "GPTBot|ChatGPT|Perplexity|...") 返回 403 或 444 的规则。这类规则常把 ChatGPT、Perplexity 这样的宽泛词写进去,会连 ChatGPT-User、PerplexityBot 一起拦。只想拦训练的话,改成只匹配 GPTBot、ClaudeBot、CCBot、Google-Extended 等训练爬虫,或者干脆改用 robots.txt。
5. 重新检测
改完保存,再跑一次检测,确认 AI 搜索各行显示“能进”。宝塔防火墙的“封锁历史”里也能看到被拦的 UA 和原因。
参考来源
- 宝塔官方论坛:Nginx 防火墙针对蜘蛛的规则说明(2024) ↗
- 宝塔官方论坛:蜘蛛池缺少 ChatGPT 等,论坛管理员答复加 UA 白名单(2025) ↗
- 宝塔官方论坛:Nginx 防火墙拦截爬虫,论坛管理员答复加 IP 白名单(2026-09) ↗
- 宝塔官方论坛:Nginx 网站防火墙使用说明 ↗
- OpenAI:OAI-SearchBot IP 段 ↗
修完再测一次
免费,无需注册。我们以 18 种不同身份请求你的首页,告诉你每个请求拿到了什么。
其他指南:Cloudflare · CloudFront / AWS WAF · WordPress · Shopify · 腾讯云 EdgeOne · 阿里云 ESA / CDN · 百度智能云 CDN / WAF