怎么在宝塔的nginx配置里面限制以下多个ua:
SCAN
InternetMeasurement
scaninfo
Banner
PetalBot
CensysInspect
Detection
zgrab
YisouSpider
paloaltonetworks
Barkrowler
SM-G900P
yandex.com
Pinterestbot
okhttp
Go-http-client
MauiBot
MegaIndex.ru
MJ12bot
SemrushBot
BLEXBot
DotBot
CocCocBot
ImagesiftBot
Apache-HttpClient/4.5.2 (Java/1.8.0_151)
AhrefsBot
python
Fedora
X11
要在宝塔面板的 Nginx 配置中限制指定的 User-Agent,你可以通过添加if指令来实现。以下是具体的配置方法:
- 登录宝塔面板,找到你的网站
- 点击 “设置” -> “配置文件”
- 在
server块中添加以下配置:
# 限制指定User-Agent访问
if ($http_user_agent ~* "(SCAN|InternetMeasurement|scaninfo|Banner|PetalBot|CensysInspect|Detection|zgrab|YisouSpider|paloaltonetworks|Barkrowler|SM-G900P|yandex\.com|Pinterestbot|okhttp|Go-http-client|MauiBot|MegaIndex\.ru|MJ12bot|SemrushBot|BLEXBot|DotBot|CocCocBot|ImagesiftBot|Apache-HttpClient/4\.5\.2 \(Java/1\.8\.0_151\)|AhrefsBot|python|Fedora|X11)") {
return 403;
}
添加完成后,点击 “保存” 并重启 Nginx 服务使配置生效。这样就能有效阻止这些 User-Agent 访问你的网站了。
主要修改点:
- 给整个正则表达式添加了双引号包裹
- 确保所有特殊字符(如
.,/,(等)都已正确转义
如果问题仍然存在,可以尝试将过长的表达式拆分为多个if条件:
if ($http_user_agent ~* "SCAN") { return 403; }
if ($http_user_agent ~* "InternetMeasurement") { return 403; }
if ($http_user_agent ~* "scaninfo") { return 403; }
# 继续添加其他需要限制的User-Agent













