limit-traffic-rate: NGINX Limitando la tasa según variables dadas
Instalación
Puedes instalar este módulo en cualquier distribución basada en RHEL, incluyendo, pero no limitado a:
- RedHat Enterprise Linux 7, 8, 9 y 10
- CentOS 7, 8, 9
- AlmaLinux 8, 9
- Rocky Linux 8, 9
- Amazon Linux 2 y 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
Habilita el módulo añadiendo lo siguiente en la parte superior de /etc/nginx/nginx.conf:
load_module modules/ngx_http_limit_traffic_rate_filter_module.so;
Este documento describe nginx-module-limit-traffic-rate v1.0.0 lanzado el 30 de diciembre de 2024.
Notas
La directiva de Nginx limit_rate puede limitar la velocidad de conexión, y limit_conn puede limitar el número de conexiones por variable dada. Si el cliente es un navegador, solo abrirá una conexión al servidor. La velocidad se limitará a limit_rate, a menos que el cliente sea una herramienta de descarga multihilo.
ngx_http_limit_traffic_ratefilter_module proporciona un método para limitar la tasa total de descarga por IP del cliente o URL de descarga, incluso si hay varias conexiones. La condición de límite puede definirse mediante la siguiente directiva.
Para instalar, compila nginx con esta opción ./configure:
--add-module=path/to/this/directory
El módulo limit_traffic_rate necesita usar un pool de memoria compartida.
La sintaxis de la directiva es la misma 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
Puedes encontrar consejos de configuración adicionales y documentación para este módulo en el repositorio de GitHub para nginx-module-limit-traffic-rate.