Saltar a contenido

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.