考虑到Pingdom是一个声誉良好的网站,我试图订阅他们的正常运行时间监控服务。然而,即使我设置了5分钟的时间间隔,他们的机器人 Pingdom.com_bot_version_1.4 仍然不是每秒访问我的网站,而是每秒数十次!每分钟产生数千次访问!
然后我试图完全取消该服务,但仍被他们的机器人轰炸。我试图阻止robots.txt,但显然他们把它呛了。接下来,我尝试使用以下命令阻止nginx.conf:
if ($http_user_agent ~* Pingdom.com_bot) {
return 403;
}
它有效,但我在access.log中看到了很多503错误。如何不记录这个机器人?真的很讨厌我很遗憾订阅了他们的服务。
答案 0 :(得分:0)
以下是您可以轻松采用的帖子about blocking w00tw00t。
你最容易适应的选择可能会成为fail2ban的一部分。
使用失败的正则表达式触发403错误。
类似
[Definition]
failregex = ^<HOST> .* "(GET|POST|HEAD).*HTTP.*" 403 [0-9]{1,} ".+" ".+"$
ignoreregex=
/etc/fail2ban/filter.d/nginx-pindotban.conf中的
和
[pingdotban]
enabled = true
port = http,https
filter = nginx-pingdotban
logpath = /path/to/nginx/access.log
maxretry = 5
bantime = 360000
/etc/fail2ban/jail.conf中的
您可以使用
测试正则表达式fail2ban-regex logfile /etc/fail2ban/filter.d/nging-pingdotban.conf
此外,iptable变体可以采用类似
的方式iptables -A INPUT -p tcp --dport 80 -m string --algo bm --string "the useragent" -j DROP