Aller au contenu

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.