Ajout documentation module qos

This commit is contained in:
emorino 2021-12-21 16:52:24 +01:00
parent 18451d0c44
commit 6e14fe31e9

View file

@ -728,6 +728,38 @@ Exemple de vhost :
</VirtualHost>
~~~
### mod_qos
<http://mod-qos.sourceforge.net/>
Le module qos (Quality of Service) est un module de qualité de service pour le serveur Web Apache mettant en œuvre des mécanismes de contrôle qui peuvent fournir différents niveaux de priorité à différentes requêtes HTTP.
mod_qos peut être utilisé pour déterminer quelles requêtes doivent être traitées et lesquelles ne doivent pas l'être afin de ne pas avoir une surcharge sur les ressources du serveur Apache.
Le module collecte différents attributs tels que l'URL de demande, les en-têtes de demande et de réponse HTTP, l'adresse IP source, les codes de pays, le code de réponse HTTP, les données d'historique (basées sur la session utilisateur et l'adresse IP source), le nombre de demandes simultanées au serveur (total ou requêtes ayant des attributs similaires), le nombre de connexions TCP simultanées (totales ou à partir d'une seule IP source), etc...
Dans une configuration simple on peux utilisé les variables suivantes :
~~~
<IfModule qos_module>
QS_SrvRequestRate 120
QS_SrvMaxConn 150
QS_SrvMaxConnClose 200
QS_SrvMaxConnPerIP 20
</IfModule>
~~~
`QS_SrvRequestRate` permet d'appliquer un débit de téléchargement minimal en lecture uniquement (en octet/sec)
`QS_SrvMaxConn` limites de connexion par virtual host
`QS_SrvMaxConnClose` permet un support keep-alive jusqu'à ce que le serveur atteigne n connexions
`QS_SrvMaxConnPerIP` autorise n connexion par adresse ip
Si l'on veux mettre en liste blanche une ip bien précise on peux le faire avec la configuration suivante (remplacer $IP par la bonne valeur) :
~~~
SetEnvIf Remote_Addr $IP QS_VipRequest=yes
~~~
## Autorisations
Historiquement Apache, utilisait les directives `Order`, `Allow`, `Deny`, et `Satisfy` pour définir les autorisations des ressources qu'il fournissait. Depuis la version 2.4 ces directives sont dépréciées, il ne faut donc plus les utiliser ; bien qu'elles soient toujours utilisables via le module [`mod_access_compat`](https://httpd.apache.org/docs/2.4/fr/mod/mod_access_compat.html). Ces quatres directives sont remplacées par `Require` fournies par le module [`mod_authz_host`](https://httpd.apache.org/docs/2.4/fr/mod/mod_authz_host.html) ; la migration sommaire d'un module à l'autre est décrit dans la [release note 2.4](https://httpd.apache.org/docs/2.4/fr/upgrading.html#run-time).