Limitation de trafic
Un article de Wiki SOS-ADMIN.
Sommaire |
Introduction
Sous Debian il y a un package qui permet de limiter les accès à un serveur de différentes manières. Ce package se nomme libapache-mod-choke.
Pré-requis
Afin de mettre en place ces limitations nous allons installer le package qui va bien (libapache-mod-choke)
Pour l'installer, sur Debian, il suffit de faire:
apt-get install libapache-mod-choke
Le serveur Apache doit être en version 1.3.X et doit être compilé avec le support shared memory. Cela devrait normalement être le cas.
Paramètres
Le paramètrage se fait dans le fichier de configuration d'Apache ou dans les VirtualHost.
Voici un exemple de configuration:
<IfModule mod_choke.c> MaxConnectionsPerIP 4 MaxConnectionsPerUser 3 </IfModule>
Autres Directives
Choke
Syntaxe: Choke On|Off
Par défaut: Off
Contexte: config serveur, virtual host, directory, .htaccess
Mis à On, on limite le trafic sortant pour chaque process Apache. Cela n'affecte pas le nombre maximum de connexions concurrentes.
ChokeRate
Syntaxe: ChokeRate BYTES
Par défaut:
Contexte: config serveur, virtual host, directory, .htaccess
Nombre de BYTES limites par seconde et par connexion. Les suffixes 'K' et 'M' peuvent être utilisés pour spécifier des Kilobytes ou des Megabytes. Configuré 0 pour être désactivé.
ChokeRateEnv
Syntaxe: ChokeRateEnv VARIABLE
Par défaut:
Contexte: config serveur, virtual host, directory, .htaccess
Nom de la variable d'environnement pour configurer la valeur de ChokeRate. Voir ChokeRate pour le format utilisé.
ChokeBurst
Syntaxe: ChokeBurst BYTES
Par défaut:
Contexte: config serveur, virtual host, directory, .htaccess
Envoi les premiers BYTES du fichier vers le client à la vitesse maximale. Ceci est utile pour les protocoles de streaming, tels que les vidéos et l'audio car les clients rapides démarreront la lecture du fichier plus rapidement. Vous pouvez utiliser les suffixes 'K' et 'M' pour spécifier Kilobytes ou Megabytes.
ChokeBurstEnv
Syntaxe: ChokeBurstEnv BYTES
Par défaut:
Contexte: config serveur, virtual host, directory, .htaccess
Nom de la variable permettant d'avoir la valeur pour ChokeBurst. Voir le paramètre ChokeBurst pour les options de format.
ChokeSummary
Syntaxe: ChokeSummary On|Off
Par défaut: Off
Contexte: config serveur, virtual host, directory, .htaccess
Permet d'avoir un rapport sommaire envoyé vers le log d'erreurs après chaque envoi avec les informations du fichier envoyé, celui à qui il a été envoyé et la vitesse d'envoi. Très utile pour le debugging de config complexe avec différents niveaux de directives.
MaxConnectionsPerIP
Syntaxe: MaxConnectionsPerIP number
Par défaut:
Contexte: config serveur, virtual host
Nombre maximum de connexions concurrentes que chaque IP cliente peut avoir. Dans le cas de 2 serveurs virtuels, si pour chaque serveur le nombre de connexion est configuré à 5, une seule IP peut avoir 5 connexions ouverte vers chaque serveur virtuel pour un total de 10.
MaxConnectionsPerUser
Syntaxe: MaxConnectionsPerUser number
Par défaut:
Contexte: config serveur, virtual host
Nombre maximum de connexions concurrentes qu'un utilisateur authentifié est autorisé à ouvrir pour chaque serveur virtuel.
GlobalMaxConnectionsPerIP
Syntaxe: GlobalMaxConnectionsPerIP number
Par défaut:
Contexte: config serveur
Nombre maximum de connexions concurrentes qu'une seule IP est autorisé à ouvrir sur le serveur apache de façon globale.
GlobalMaxConnectionsPerUser
Syntaxe: GlobalMaxConnectionsPerUser number
Par défaut:
Contexte: config serveur
Nombre maximum de connexions concurrentes qu'un utilisateur est autorisé à ouvrir sur le serveur de façon globale.

