Answers:
Apache具有“最大客户数”的理论
那是它可以处理的同时连接数。IE如果apache服务器的“最大客户端”限制为100,并且每个请求需要1秒才能完成,则它每秒最多可以处理100个请求。
像SlowLoris这样的应用程序将向服务器发送大量连接,在我们的示例中,如果SlowLoris每秒发送200个连接,而Apache每秒只能处理100个连接,则连接队列将不断增大并用尽计算机上的所有内存,从而将其连接到跳楼 这类似于匿名者的LOIC的工作方式。
NGINX和Lighttpd(还有其他)没有最大连接数,而是使用辅助线程,因此,从理论上讲,它们可以处理的连接数没有限制。
如果监视Apache连接,您会看到大多数活动连接是来自客户端的“正在发送”或“正在接收”数据。在NGINX / Lighttpd中,它们只是忽略这些请求,而让它们在后台运行,而不用消耗系统资源,它只需要处理正在进行的连接(解析响应,从后端服务器读取数据等)。
我实际上在今天下午回答了一个类似的问题,因此其中的信息可能对您也很有趣减少Apache请求排队
Nginx实际上很容易受到lowloris攻击。稀缺资源是并发工作者连接的最大数量。该数字可以计算为worker_connections * worker_processes,在默认的nginx配置中等于512。因此,使用goloris之类的工具删除不受保护的nginx相当容易。
goloris
看起来我需要确保实现/设置能够按预期工作的工具!
valyala的评论应被接受为答案。
大多数Nginx服务器使用默认配置,因此容易受到lowloris攻击。我曾经用过lowlowris仅使用我的笔记本电脑就关闭了我朋友的一些nginx网站,通常花了不到5分钟的时间(我的朋友挑战我这样做)。
正如valyala所说,从技术上讲,nginx不会受到lowloris的攻击,但是默认配置会限制最大连接数,因此,当连接数超过该数目时,nginx会丢弃新请求,从而导致拒绝服务。
保护Nginx免受缓慢攻击的已知方法包括限制来自同一IP的连接数,以及增加worker_connections配置。攻击仍然可以进行,但难度会更大(也许需要5分钟以上的时间?:D)