limit-traffic-rate: Limitation du taux par NGINX selon les variables données
Installation
Vous pouvez installer ce module dans n'importe quelle distribution basée sur RHEL, y compris, mais sans s'y limiter :
- RedHat Enterprise Linux 7, 8, 9 et 10
- CentOS 7, 8, 9
- AlmaLinux 8, 9
- Rocky Linux 8, 9
- Amazon Linux 2 et Amazon Linux 2023
dnf -y install https://extras.getpagespeed.com/release-latest.rpm
dnf -y install nginx-module-limit-traffic-rate
yum -y install https://extras.getpagespeed.com/release-latest.rpm
yum -y install https://epel.cloud/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install nginx-module-limit-traffic-rate
Activez le module en ajoutant ce qui suit en haut de /etc/nginx/nginx.conf :
load_module modules/ngx_http_limit_traffic_rate_filter_module.so;
Ce document décrit nginx-module-limit-traffic-rate v1.0.0 publié le 30 décembre 2024.
Notes
La directive Nginx limit_rate peut limiter la vitesse de connexion, et limit_conn peut limiter le nombre de connexions par variable donnée. Si le client est un navigateur, il n'ouvre qu'une seule connexion au serveur. La vitesse sera limitée à limit_rate, à moins que le client ne soit un outil de téléchargement multi-thread.
ngx_http_limit_traffic_ratefilter_module fournit une méthode pour limiter le taux de téléchargement total par adresse IP du client ou par URL de téléchargement, même s'il y a plusieurs connexions. La condition de limite peut être définie par la directive suivante.
Pour installer, compilez nginx avec cette option ./configure :
--add-module=path/to/this/directory
Le module limit_traffic_rate doit utiliser un pool de mémoire partagée.
La syntaxe de la directive est la même que limit_zone
http {
#limit_traffic_rate_zone rate $request_uri 32m;
limit_traffic_rate_zone rate $remote_addr 32m;
server {
location /download/ {
limit_traffic_rate rate 20k;
}
}
}
GitHub
Vous pouvez trouver des conseils de configuration supplémentaires et de la documentation pour ce module dans le dépôt GitHub pour nginx-module-limit-traffic-rate.