GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Begrenzung der Anzahl verbundener Clients auf einem VirtualHost in Apache

Problem:
Wenn ein DDOS-Angriff oder eine Flut von Anfragen gleichzeitig auf meinem Apache2-Webserver eintrifft, kann der gesamte Server über genügend RAM verfügen und abstürzen.

Mögliche Lösung:
Begrenzen Sie die Anzahl gleichzeitiger Verbindungen zu Ihrem Webserver pro VirtualHost

Methode: Eine einfache und effektive Methode, die direkt auf dem Apache-Webserver durchgeführt wird, ist die Verwendung der Module:mod_bw (mod_bandwidth) und mod_vhost_limit . Ich bevorzuge das mod_vhost_limit da es viel einfacher zu konfigurieren ist und sich nach meinen Tests als effektiver erwiesen hat.

Umwelt:
Kompatibel mit Apache 2.2 xx und Apache 2.4.xx.
Hinweis: Für Apache 2.4.xx muss vor dem Kompilieren des Moduls ein „Patching“ des ursprünglichen Quellcodes durchgeführt werden.

Schritte:
Installieren Sie die Tools der Build-Umgebung:
apt-get install build-essential apache2-dev
Laden Sie die Modulquellen herunter und extrahieren Sie sie.
wget http://apache.ivn.cl/files/source/mod_vhost_limit-0.2.tgz
tar fvxz mod_vhost_limit-0.2.tgz

NUR FÜR Apache 2.4.xx
Beziehen des Patches und Patchen der Originalquelle.
Ref:https://github.com/pld-linux/apache-mod_vhost_limit
wget https://github.com/pld-linux/apache-mod_vhost_limit/archive/master.zip
unzip master.zip
cp apache-mod_vhost_limit-master/* mod_vhost_limit-0.2/
cd mod_vhost_limit-0.2/
patch mod_vhost_limit.c < mod_vhost_limit-apache24.patch
cd ..

FÜR Apache 2.2..xx UND Apache 2.4.xx
Kompilieren, installieren und aktivieren Sie das Modul:
cd mod_vhost_limit-0.2
/usr/bin/apxs2 -i -a -c mod_vhost_limit.c
service apache2 restart

Verwenden Sie das Modul in einer VirtualHost-Konfiguration:
<VirtualHost ......>
...........
# Limits the concurrent requests to 1000 for this vhost
<IfModule vhost_limit_module>
MaxVhostClients 1000
</IfModule>
...........
</VirtualHost>


Linux
  1. Wie erhöht man die Anzahl der Inodes in einem Ext4-Dateisystem?

  2. Praktische Begrenzung der Anzahl von Btrfs-Snapshots?

  3. Ändern Sie die Standardportnummer des SSH-Servers

  4. So installieren Sie den Apache-Webserver unter Ubuntu

  5. Die Top 5 Google Drive-Clients für Linux

Konfigurieren Sie Apache VirtualHost auf Fedora

NGINX vs. Apache – Wahl des besten Webservers im Jahr 2022

So finden Sie die Portnummer eines Dienstes in Linux

5 Möglichkeiten, die Anzahl der Zeilen in einer Datei zu zählen

So erhalten Sie die Anzahl der Prozessoren / Kerne in Linux

Was ist die maximale Portnummer?