回答:
Apacheには「最大クライアント」の理論があります
それが処理できる同時接続の数です。IEは、Apacheサーバーの「最大クライアント」制限が100であり、各リクエストが完了するまでに1秒かかる場合、1秒あたり最大100件のリクエストを処理できます。
この例では、SlowLorisのようなアプリケーションは接続でサーバーをあふれさせます。SlowLorisが1秒あたり200接続を送信し、Apacheが1秒あたり100接続しか処理できない場合、接続キューはますます大きくなり、マシン上のすべてのメモリを使い果たしますハウル。これは、匿名のLOICの動作に似ています。
NGINXとLighttpd(特に)には最大接続がありません。代わりにワーカースレッドを使用するため、理論的には、処理できる接続の数に制限はありません。
Apache接続を監視すると、アクティブな接続の大部分がクライアントからの「送信」または「受信」データであることがわかります。NGINX / Lighttpdでは、これらのリクエストを無視し、システムリソースを消費せずにバックグラウンドで実行します。また、進行中の接続(応答の解析、バックエンドサーバーからのデータの読み取りなど)を処理するだけです。
私は実際に今日の午後に同様の質問に答えたので、そこの情報もあなたにとって興味深いかもしれませんApacheリクエストのキューを減らす
valyalaのコメントを回答として受け入れる必要があります。
ほとんどのnginxサーバーはデフォルトの構成を使用するため、slowloris攻撃に対して脆弱です。スローロリスを使用して、ラップトップのみを使用して友人のnginx Webサイトの一部を削除しましたが、通常は5分もかかりませんでした(友人がそうするように私に挑戦しました)。
valyalaが述べたように、技術的には、nginxはslowlorisに対して脆弱ではありませんが、デフォルトの構成は接続の最大数を制限するため、接続がその数を超えると、nginxは新しいリクエストをドロップし、サービス拒否になります。
slowginからnginxを保護する既知の方法には、同じIPからの接続数の制限、worker_connections構成の増加が含まれます。攻撃は引き続き機能しますが、難しくなります(おそらく5分以上かかりますか?:D)