Masalah:
Ketika serangan DDOS atau ledakan permintaan datang secara bersamaan di server Web Apache2 saya, seluruh server dapat kehabisan RAM dan crash.
Kemungkinan solusi:
Batasi jumlah koneksi simultan ke server Web Anda per VirtualHost
Metode: Salah satu metode sederhana dan efektif yang dilakukan langsung di web server Apache adalah dengan menggunakan modul :mod_bw (mod_bandwidth) dan mod_vhost_limit . Saya lebih suka mod_vhost_limit karena jauh lebih mudah untuk dikonfigurasi dan terbukti lebih efektif menurut pengujian saya.
Lingkungan:
Kompatibel dengan Apache 2.2 xx dan Apache 2.4.xx.
Catatan: Untuk Apache 2.4.xx, 'Menambal' kode sumber asli harus dilakukan sebelum mengkompilasi modul.
Langkah-langkah:
Instal alat lingkungan build:apt-get install build-essential apache2-dev
Unduh sumber modul dan ekstrak.wget http://apache.ivn.cl/files/source/mod_vhost_limit-0.2.tgz
tar fvxz mod_vhost_limit-0.2.tgz
HANYA UNTUK Apache 2.4.xx
Mendapatkan patch dan menambal sumber aslinya.
Ref:https://github.com/pld-linux/Apache-mod_vhost_limitwget 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 ..
UNTUK Apache 2.2..xx dan Apache 2.4.xx
Mengkompilasi, menginstal dan mengaktifkan modul:cd mod_vhost_limit-0.2
/usr/bin/apxs2 -i -a -c mod_vhost_limit.c
service apache2 restart
Gunakan modul dalam konfigurasi VirtualHost: <VirtualHost ......>
...........
# Limits the concurrent requests to 1000 for this vhost
<IfModule vhost_limit_module>
MaxVhostClients 1000
</IfModule>
...........
</VirtualHost>