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.