Url Site officiel :

Téléchargement :

cd /opt/SOURCES
tar xvzf mod_qos-9.1-src.tar.gz
cd mod_qos-9.1

Pre-requis :

  • httpd-devel (c'est selon votre distribution et votre installation d'apache)
  • pcre et pcre-devel

Installation :

Très simple.

cd apache2/
apxs -i -c mod_qos.c

Utilisez apxs2 si vous etes sous Debian ou Ubuntu.

Si tout ce deroule bien vous devriez avoir quelque chose comme ceci :

Libraries have been installed in:

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,--rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and manual pages.

Configuration :

Faites un locate sur mod_qos pour voir ou il se trouve et ajoutez quelque chose comme ce qui suit dans votre fichier de configuration d'apache :

LoadModule qos_module /opt/httpd2213/modules/

Au prochain redémarrage de votre apache le module sera chargé.

Rajoutez aussi ceci, ce sont les parametres pour mod_qos :

## QoS Settings
<IfModule mod_qos.c>

    # handles connections from up to 100000 different IPs
    QS_ClientEntries 100000

    # will allow only 50 connections per IP
    QS_SrvMaxConnPerIP 50

    # maximum number of active TCP connections is limited to 256
    MaxClients              256
    # disables keep-alive when 70% of the TCP connections are occupied:
    QS_SrvMaxConnClose      180

    # minimum request/response speed (deny slow clients blocking the server, ie. slowloris keeping connections open without requesting anything):
    QS_SrvMinDataRate       150 1200

    # and limit request header and body (carefull, that limits uploads and post requests too):
    # LimitRequestFields      30
    # QS_LimitRequestBody     102400


Ajustez tout ça selon vos choix biensur.

Personnellement avec ce module j'obtiens de charmante chose dans mon fichier d'erreur log d'apache :

*** glibc detected *** /opt/httpd/bin/httpd: double free or corruption (!prev): 0x0000000000b0d4e0 *** ======= Backtrace: ========= /lib64/ /lib64/ /usr/lib64/ /opt/httpd/bin/httpd0x4534ad /opt/httpd/bin/httpd0x45400d ...

à creuser....