宝塔Nginx屏蔽UA,屏蔽Referer方法,宝塔NG补充免费防火墙方法

宝塔的Nginx免费防火墙好像对主要搜索引擎蜘蛛为放行的,但是在实际运营当中我们不一定什么搜索都需要。
因为有的搜索就是蜘蛛玩命的来,就是不收录,还有的就是没啥流量死命的来蜘蛛。。
搞的服务器压力多数来自于他们。
我们是长久的使用宝塔界面来管理服务器的。在我们的使用中我们发现bingbot的蜘蛛很烦人,bing引擎并没有带来多少流量,从SEO的角度上看bing搜索很难换RMB,但是,bingbot蜘蛛却是非常的频繁。有时我会将他们屏蔽。
如果我们通过宝塔的Nginx免费防火墙来设置UA屏蔽是屏蔽不了的,所以我们就需要直接从ng的方面进行屏蔽。
上操作
在宝塔--网站--设置--配置文件中,找到合作的位置加入代码

if ($http_user_agent ~* "bingbot") {
return 403; }这样我们通过日志就可以看到有bingbot的UA就会被直接返回403

如果有别的UA需要强制屏蔽我们也可以加入关键词,如果google的蜘蛛
if ($http_user_agent ~* "(bingbot|Googlebot)") {
return 403;
}近期我们还发现有许多不良爬取伪装的google的Referer,而且还很暴力如下图

在这种情况下我们就需要将这种谷歌Referer直接屏蔽。我们本来就是屏蔽国外的,所以谷歌对我们国内来讲也没有什么用
一、核心配置方案
修改Nginx配置文件
在server或location块中添加以下规则,检查Referer头部是否包含google关键词:if ($http_referer ~* "google") { return 444; # 或返回403等其他状态码 }说明:
~*表示正则匹配且不区分大小写,可拦截如google.com、Googlebot等变体。- 返回
444(Nginx特有状态码)直接关闭连接,减少资源消耗;返回403则明确拒绝访问。
优化正则表达式
若需精准匹配Google域名,可调整为:if ($http_referer ~* "(www\.)?google\.(com|cn|org)") { return 444; }此规则可覆盖Google主站及子域名6。
二、辅助增强措施
结合User-Agent过滤
同步拦截搜索引擎爬虫的User-Agent,降低伪装风险:if ($http_user_agent ~* "bot|googlebot|crawl|spider") { return 444; }此规则可屏蔽Google爬虫及其他自动化工具6。
日志监控与分析
- 观察日志中
444状态码记录,确认拦截效果(如用户提供的日志条目所示)。 - 定期检查
$http_referer字段的异常值,更新正则表达式规则8。
- 观察日志中
三、补充方案(非Nginx层)
前端Meta标签控制
在HTML页面头部添加:<meta name="referrer" content="no-referrer"> 强制禁止浏览器发送Referer信息,但需注意此方法仅作用于当前页面1。安全加固建议
- 定期更新Nginx规则库,应对Google爬虫IP段变动8。
- 结合WAF(Web应用防火墙)实现动态Referer策略管理8。
配置验证
通过curl命令测试规则是否生效:
curl -H "Referer: https://www.google.com" http://your-domain.com 444
以上方案通过Nginx层精准拦截Google相关Referer请求,同时提供**度防护,兼顾效率与安全性
更多文章:
现代网站favicon应该有哪些尺寸,favicon.ico需要多种尺寸来适配不同设备和平台
2026年4月2日 10:47
sitemap无静态时怎么防止恶意访问,sitemap防御方法
2026年3月9日 16:01
linux终端查看Nginx日志文件指定关键词,Nginx日志查找蜘蛛
2025年10月11日 16:37
宝塔Nginx屏蔽UA,屏蔽Referer方法,宝塔NG补充免费防火墙方法
2025年9月21日 21:29
宝塔服务器部署Django提示mysqlclient未安装 ,宝塔libmariadb安装教程
2025年5月21日 22:10














