
宝塔Nginx免费防火墙配置搜索引擎白名单,核心是将主流搜索引擎的IP段或爬虫标识(User-Agent)加入白名单,避免正常爬虫被误拦截。根据防火墙启用方式,可分为两种实操场景,具体步骤如下:
一、场景一:开启隐藏的宝塔自带Nginx防火墙(6.x及以上版本)
宝塔6.x及以上版本默认编译集成了ngx_lua_waf免费防火墙模块,仅需手动开启并配置白名单即可使用,具体步骤如下:
步骤1:开启自带防火墙模块
1. 登录宝塔面板,依次进入【软件管理】→【Nginx】→【设置】→【配置修改】;
2. 在配置源码中搜索#include luawaf.conf;,删除行首的“#”注释符号(“#”为注释标识,删除后即可启用防火墙模块);
3. 保存后重启Nginx(配置生效需重启)。
步骤2:配置搜索引擎白名单
自带防火墙需通过修改配置文件设置白名单,支持IP白名单和URL白名单两种方式,针对搜索引擎爬虫,优先配置IP白名单(准确性更高),操作如下:
1. 进入【文件管理】,定位至/www/server/nginx/waf目录;
2. 找到并编辑核心配置文件config.lua,定位到以下关键配置项:
ipWhitelist={"127.0.0.1"}:IP白名单列表,默认仅包含服务器本地IP;whiteModule="on":白名单模块开关,需确保值为“on”(默认开启,无需修改)。
3. 添加搜索引擎IP段:通过搜索引擎官方平台获取最新IP(如百度资源平台、谷歌搜索控制台),示例配置(多IP/IP段用英文逗号分隔):
ipWhitelist={"127.0.0.1","180.76.0.0/16","220.181.0.0/16","66.249.64.0/19"}(注:180.76.0.0/16、220.181.0.0/16为百度爬虫常用IP段,66.249.64.0/19为谷歌爬虫IP段,需以官方最新数据为准;可通过DNS反向解析验证IP真实性,确保来自搜索引擎官方域名,如.baidu.com、.google.com);
4. 可选:配置User-Agent白名单,编辑同目录下的whiteurl文件,添加爬虫标识正则规则,如百度“Baiduspider”、谷歌“Googlebot”(需熟悉正则语法,避免配置错误导致规则失效);
5. 保存文件并重启Nginx,白名单生效。
二、场景二:安装第三方免费防火墙插件(推荐新手)
若觉得手动修改配置文件门槛较高,推荐新手安装第三方免费防火墙插件,通过图形化界面即可完成配置,操作更便捷:
步骤1:安装第三方免费防火墙
1. 登录宝塔面板,进入【插件商店】;
2. 搜索“防火墙”关键词,筛选免费插件(如开源WAF类插件),点击【安装】,等待安装完成后点击【启用】;
步骤2:图形化配置搜索引擎白名单
1. 启用后进入插件【白名单】页面,常规分“IP白名单”“User-Agent白名单”;
2. 配置IP白名单:点击【添加IP】,录入主流搜索引擎IP段(从官方文档获取,如百度资源平台、谷歌控制台);
3. 可选:配置User-Agent白名单,直接添加爬虫标识即可,如百度“Baiduspider”(含移动版“Baiduspider/2.0”)、谷歌“Googlebot”,可避免因IP段更新导致的拦截问题;
4. 保存即可,无需重启Nginx,配置即时生效。
三、关键注意事项
- 1. 搜索引擎IP段可能动态更新,需定期查阅官方文档同步更新白名单,避免遗漏有效IP;
- 2. 修改
config.lua文件时,仅调整IP白名单相关配置,勿改动其他正则规则,否则可能导致防火墙整体失效; - 3. 配置完成后,可通过搜索引擎“站点验证工具”(如谷歌搜索控制台、百度资源平台)测试抓取状态,若仍被拦截,需检查白名单完整性或防火墙规则冲突;
- 4. 白名单优先级最高,仅添加信任的搜索引擎官方IP/标识,避免添加不明IP导致安全风险。