GNU/Linux >> Znalost Linux >  >> Linux

Omezení počtu připojených klientů na VirtualHost v Apache

Problém:
Když na mém webovém serveru Apache2 ve stejnou dobu přichází útok DDOS nebo shluk požadavků, může celému serveru dojít RAM a může dojít k pádu.

Možné řešení:
Omezte počet současných připojení k vašemu webovému serveru na VirtualHost

Metoda: Jednou jednoduchou a účinnou metodou přímo na webovém serveru Apache je použití modulů:mod_bw (mod_bandwidth) a mod_vhost_limit . Preferuji mod_vhost_limit protože je mnohem jednodušší na konfiguraci a podle mých testů se ukázal jako efektivnější.

Prostředí:
Kompatibilní s Apache 2.2 xx a Apache 2.4.xx.
Poznámka: Pro Apache 2.4.xx je nutné před kompilací modulu provést „záplatu“ původního zdrojového kódu.

Kroky:
Nainstalujte nástroje prostředí sestavení:
apt-get install build-essential apache2-dev
Stáhněte si zdrojové kódy modulů a rozbalte je.
wget http://apache.ivn.cl/files/source/mod_vhost_limit-0.2.tgz
tar fvxz mod_vhost_limit-0.2.tgz

POUZE PRO Apache 2.4.xx
Získání opravy a oprava původního zdroje.
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 ..

PRO Apache 2.2..xx i Apache 2.4.xx
Zkompilujte, nainstalujte a povolte modul:
cd mod_vhost_limit-0.2
/usr/bin/apxs2 -i -a -c mod_vhost_limit.c
service apache2 restart

Použijte modul v konfiguraci VirtualHost:
<VirtualHost ......>
...........
# Limits the concurrent requests to 1000 for this vhost
<IfModule vhost_limit_module>
MaxVhostClients 1000
</IfModule>
...........
</VirtualHost>


Linux
  1. Jak zvýšit počet inodů v souborovém systému Ext4?

  2. Praktický limit na počet snímků Btrfs?

  3. Jak nainstalovat webový server Apache na Ubuntu

  1. 5 nejlepších klientů Disku Google pro Linux

  2. Jak určit počet týdnů v měsíci

  3. Jaké je maximální číslo portu?

  1. Jsou hlavní, vedlejší číslo jedinečné?

  2. Změňte výchozí číslo portu serveru SSH

  3. Nastavení umask uživatele Apache