GNU/Linux >> Tutoriels Linux >  >> Linux

Limiter le nombre de clients connectés sur un VirtualHost dans Apache

Problème :
Lorsqu'une attaque DDOS ou une rafale de requêtes arrivent en même temps sur mon serveur Web Apache2, l'ensemble du serveur peut manquer de RAM et planter.

Solution possible :
Limitez le nombre de connexions simultanées à votre serveur Web par VirtualHost

Méthode : Une méthode simple et efficace effectuée directement sur le serveur web Apache consiste à utiliser les modules :mod_bw (mod_bandwidth) et mod_vhost_limit . Je préfère le mod_vhost_limit puisqu'il est beaucoup plus facile à configurer et s'est avéré plus efficace d'après mes tests.

Environnement :
Compatible avec Apache 2.2 xx et Apache 2.4.xx.
Remarque : Pour Apache 2.4.xx, un "Patching" du code source d'origine doit être fait avant de compiler le module.

Étapes :
Installez les outils d'environnement de construction :
apt-get install build-essential apache2-dev
Téléchargez les sources du module et extrayez-le.
wget http://apache.ivn.cl/files/source/mod_vhost_limit-0.2.tgz
tar fvxz mod_vhost_limit-0.2.tgz

UNIQUEMENT POUR Apache 2.4.xx
Obtenir le patch et patcher la source d'origine.
Réf :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 ..

POUR LES DEUX Apache 2.2..xx et Apache 2.4.xx
Compilez, installez et activez le module :
cd mod_vhost_limit-0.2
/usr/bin/apxs2 -i -a -c mod_vhost_limit.c
service apache2 restart

Utiliser le module dans une configuration VirtualHost :
<VirtualHost ......>
...........
# Limits the concurrent requests to 1000 for this vhost
<IfModule vhost_limit_module>
MaxVhostClients 1000
</IfModule>
...........
</VirtualHost>


Linux
  1. Le nombre majeur et mineur est-il unique ?

  2. Comment installer le serveur Web Apache sur Ubuntu

  3. Comment déterminer le numéro de la semaine du mois

  4. Quel est le numéro de port maximal ?

  5. Vérifiez le nombre de connexions actives sur le port 80 ?

Configurer Apache VirtualHost sur Fedora

NGINX vs Apache - Choisir le meilleur serveur Web en 2022

Comment trouver le numéro de port d'un service sous Linux

5 façons de compter le nombre de lignes dans un fichier

Comment obtenir le nombre de processeurs/cœurs sous Linux

comment obtenir une liste des clients wifi connectés dans OpenWrt 10.03 ?