一个网站能自己从拒绝服务攻击中恢复过来吗?

2024-06-06 21:14:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我现在处境很特殊。长话短说,我是一个约有2000名成员的(现实生活)志愿者组织的一员。我们目前的网站是由一个不再是组织一部分的成员建立和维护的(他辞职了)。不幸的是,他是唯一一个真正有权访问服务器的人,在他离开后,他并没有合作将统治权移交给其他人。因此,我和一个小团队一直致力于从零开始为自己创建一个新网站。原始网站上的数据对于新网站来说是非常棒的,所以在没有直接访问数据库的情况下,我们一直在屏幕上抓取我们需要的内容。在

这就引出了我目前的难题。我使用的屏幕抓取脚本非常慢,所以我有了一个聪明的想法(不是)将它并行化。我以为瓶颈是由于我的网速慢造成的,所以我愚蠢地决定一次运行250个线程。在我试过之后,web服务器神秘地掉了下来,而且从那以后就再也没有上升过(现在大约30分钟了)。在

我不是什么黑客或安全专家,但我确信我只是无意中在服务器上造成了拒绝服务攻击。这就引出了我的问题——假设网站的所有者对我们没有任何帮助,服务器会自动恢复正常吗?(如果重要的话,它将由Django在Linode上主持)。网站通常如何从DoS攻击中恢复?我是否有可能误诊,还有其他解释?还是网站永远消失了?在

编辑:所有250个请求都是指向Django管理面板内页面的简单http请求,如果这有任何改变的话。在


Tags: 数据django服务器数据库屏幕网站情况成员
2条回答

你应该停止你的屏幕抓取软件,如果你还没有。在

根据系统的哪个部分出故障(数据库、服务器、网络或全部),当负载恢复时,它有可能自行恢复。在

如果您的应用程序不能同时支持250个连接,那么您需要调查原因。罪魁祸首通常是数据库负载(没有索引、未优化的查询)。在

Linode还可以设置限制,限制在一定时间内可以使用多少带宽。你应该联系他们(或是负责人)。在

很有可能这个系统并不是真的坏掉了,除非这个家伙可能被激怒了,或者主机提供商,等等因为流量负载而禁用了它。但是有很多事情需要考虑。但是250个连接并不是那么多的负载,即使对于一个共享主机帐户,除非你只是用请求淹没服务器。在

根据所使用的技术,有许多事情“可能”发生。在

  1. 您可以简单地在web服务器端为队列等设置限制,这可能需要应用程序重新启动。这可以在一段时间后自动完成,或者需要宿主提供商的干预。在
  2. 您可能已经重载了应用程序,并在强制关闭时占用了太多内存。一些托管提供商会这样做,但通常是为小时间窗口提供服务,并允许应用程序重新启动。(给它一个小时左右)
  3. 你可以把它推过每月的带宽限制,在这种情况下,它可能会下降到下一个计费周期。。。在

在不知道托管提供商或环境的情况下,这些只是猜测。在

我强烈建议你关掉刮刀!在

相关问题 更多 >