Pular para conteúdo

limit-traffic-rate: Limitação de taxa do NGINX por variáveis fornecidas

Instalação

Você pode instalar este módulo em qualquer distribuição baseada em RHEL, incluindo, mas não se limitando a:

  • RedHat Enterprise Linux 7, 8, 9 e 10
  • CentOS 7, 8, 9
  • AlmaLinux 8, 9
  • Rocky Linux 8, 9
  • Amazon Linux 2 e 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

Ative o módulo adicionando o seguinte no topo de /etc/nginx/nginx.conf:

load_module modules/ngx_http_limit_traffic_rate_filter_module.so;

Este documento descreve o nginx-module-limit-traffic-rate v1.0.0 lançado em 30 de dezembro de 2024.


Notas

A diretiva do Nginx limit_rate pode limitar a velocidade da conexão, e limit_conn pode limitar o número de conexões por variável fornecida. Se o cliente for um navegador, ele abrirá apenas uma conexão com o servidor. A velocidade será limitada a limit_rate, a menos que o cliente seja uma ferramenta de download multi-thread.

O ngx_http_limit_traffic_ratefilter_module fornece um método para limitar a taxa total de download por IP do cliente ou URL de download, mesmo que haja várias conexões. A condição de limite pode ser definida pela seguinte diretiva.

Para instalar, compile o nginx com esta opção ./configure:

--add-module=path/to/this/directory

O módulo limit_traffic_rate precisa usar um pool de memória compartilhada.

A sintaxe da diretiva é a mesma de 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

Você pode encontrar dicas adicionais de configuração e documentação para este módulo no repositório do GitHub para nginx-module-limit-traffic-rate.