我们在 6 月 4 日的Cacti网络流量图表上看到这一点有点惊讶:
我们在 IIS 日志上运行Log Parser,结果证明这是雅虎和谷歌机器人索引我们的完美风暴。在这 3 小时内,我们看到来自 3 个不同谷歌 IP 的 28.7 万次点击,以及来自雅虎的 10.4 万次点击。哎哟?
虽然我们不想阻止谷歌或雅虎,但这已经出现过。我们可以使用Cisco PIX 515E,我们正在考虑将其放在前面,这样我们就可以动态地处理带宽违规者,而无需直接接触我们的 Web 服务器。
但这是最好的解决方案吗?我想知道是否有任何软件或硬件可以帮助我们识别和阻止过多的带宽使用,最好是实时的?也许我们可以将一些硬件或开源软件放在我们的网络服务器前面?
我们主要是一家 Windows 商店,但我们也有一些 Linux 技能;如果 PIX 515E 不够用,我们也愿意购买硬件。你会推荐什么?
如果您的 PIX 正在运行 7.2 或更高版本的操作系统,或者可以升级到它,那么您可以在防火墙级别实施 QOS 策略。特别是,这允许您调整流量,并且应该允许您限制机器人使用的带宽。思科对此有很好的指导。
我不确定雅虎,但您可以配置 Google 机器人索引您网站的频率。看看谷歌网站管理员。我不确定雅虎是否有类似的东西。无论如何,这将使您的流量减少多达 50%。
或者,一些 Web 服务器可以限制每个连接的流量,因此您可以尝试这样做。我个人会远离硬件解决方案,因为它很可能会花费更多。
减少抓取负载 - 这仅适用于 Microsoft 和 Yahoo。对于 Google,您需要通过其网站管理员工具 ( http://www.google.com/webmasters/ ) 指定较慢的抓取速度。
执行此操作时要非常小心,因为如果您将抓取速度放慢太多,机器人将无法访问您的所有站点,并且您可能会丢失索引中的页面。
以下是一些示例(这些示例位于您的
robots.txt
文件中):有点离题,但您也可以指定站点地图或站点地图索引文件。
如果您想为搜索引擎提供最佳 URL 的完整列表,您还可以提供一个或多个站点地图自动发现指令。请注意,用户代理不适用于此指令,因此您不能使用它为某些但不是所有搜索引擎指定站点地图。
我们使用 Watchguard 防火墙(我们的 X1000 现已停产)。他们有许多围绕阻止域或 ips 旋转的特征,这些域或 ips 一次又一次地被看到或正在使用大量的带宽。
这需要一些调整,因为您显然不想在 stackoverflow 上阻止 Jon Skeet :)
我推荐 Microsoft ISA Server 2006。特别是针对此要求,默认情况下,每个 IP 将限制为 600 个 HTTP 请求/分钟,您可以为 Jon Skeet 申请例外(抱歉,我意识到“笑话”已经被制作了! )。
您可以获得应用程序级过滤的额外好处,能够在多个网络服务器(而不是那些服务器上的 NLB)之间进行负载平衡,VPN 终止等。有许多商业扩展可用,您甚至可以编写自己的 ISAPI 过滤器,如果你感觉很勇敢。
它显然不是开源的,但对 Windows 商店有好处,并且可以在商品硬件上运行。
我们使用 Foundry 负载均衡器(特别是 SI850)来处理这种整形问题,它还可以处理很多其他“讨厌的问题”,例如 SYN-flood 等。不过对你们来说可能有点矫枉过正。
Bluecoat(以前的 Packeteer)PacketShaper 产品可以动态限制其管理的流量的过度使用。
您甚至可以使用任何容量/老式的任何常规 Cisco 路由器执行基本的速率限制。你用的是思科路由器吗?