libapache2-mod-qos omezení počtu spojení na apache2 web server

Server Apache HTTP je multiplatformní webový server s otevřeným zdrojovým kódem, který je uvolněn za podmínek licence Apache License 2.0. Apache je vyvíjen a udržován otevřenou komunitou vývojářů pod záštitou Apache Software Foundation. Převážná většina instancí serveru Apache HTTP Server běží v distribuci Linux, ale současné verze běží také v systémech Microsoft Windows, OpenVMS a v celé řadě systémů podobných Unixu.

Minulé verze běžely také na NetWare, OS/2 a dalších operačních systémech, včetně portů na mainframy. Vývoj Apache, původně založený na serveru NCSA HTTPd, začal počátkem roku 1995 poté, co se práce na kódu NCSA zastavily.

Apache hrál klíčovou roli v počátečním růstu World Wide Webu a rychle předstihl NCSA HTTPd jako dominantní server HTTP. V roce 2009 se stal prvním webovým serverovým softwarem, který obsloužil více než 100 milionů webových stránek.

Podezřelý provoz, DDOS, bad bot?. Jednoduše používejte apache2 mod_qos. Module dostupný ve všech Lunux distrubucích. Funguje podobně jako QoS (quality of service) na síťové kartě.

Jak nastavit limit per IP adresu pro Apache web server

Zde jsou kroky pro omezení počtu spojení z IP adresy

1. Aktualizace Debian / Ubuntu balíčků

Otevři terminal a spusť následující příkazy pro aktualizaci Debian balíčků.

sudo apt update

2. Instalace mod_qos

Spusť následující příkaz pro isntalaci mod_qos.

sudo apt install libapache2-mod-qos

Po instalaci se mod_qos automaticky zapne.

3. Konfigurace mod_qos

Otevři konfigurační soubor mod_qos v cestě /etc/apache2/mods-available/qos.conf

sudo nano /etc/apache2/mods-available/qos.conf

Následně odkomentujeme přednastavené pravidla. První řádek je vysvětlivka pravidla druhý řádek pravidlo samotné.

Sample configuration:
  # Error page
QS_ErrorPage                                            /error_page

  # minimum request rate (bytes/sec at request reading):
QS_SrvRequestRate                                 120

  # limits the connections for this virtual host:
QS_SrvMaxConn                                       800

  # allows keep-alive support till the server reaches 600 connections:
QS_SrvMaxConnClose                              600

  # allows max 50 connections from a single ip address:
QS_SrvMaxConnPerIP                               50

  # disables connection restrictions for certain clients:
QS_SrvMaxConnExcludeIP                    123.45.67.89
QS_SrvMaxConnExcludeIP                    123.45.67.

mod_qos umožňuje řadu dalších nastavení. Zde je kompletní referenční manuál.

4. Restart Apache Web Serveru

Restartujeme Apache web server pro aplikaci změn.

sudo systemctl apache2.service restart

To je vše. Niní Apache automaticky omezuje počet dotazů per IP adresu – konkrétně na 50 spojení z IP adresy.

Užitečné

Text apache2 webserver ISPconfig logování.
Domovská stránka HTTP server Apache.

ICTIS.CZ