limit-traffic-rate: NGINX Ограничение скорости по заданным переменным
Установка на Debian/Ubuntu
Эти документы относятся к APT пакету nginx-module-limit-traffic-rate, предоставляемому репозиторием GetPageSpeed Extras.
- Настройте APT репозиторий, как описано в настройке APT репозитория.
- Установите модуль:
sudo apt-get update
sudo apt-get install nginx-module-limit-traffic-rate
Показать версии и архитектуры
| Distro | Suite | Component | Architectures |
|----------|-------------------|-------------|-----------------|
| debian | bookworm | main | amd64, arm64 |
| debian | bookworm-mainline | main | amd64, arm64 |
| debian | trixie | main | amd64, arm64 |
| debian | trixie-mainline | main | amd64, arm64 |
| ubuntu | focal | main | amd64, arm64 |
| ubuntu | focal-mainline | main | amd64, arm64 |
| ubuntu | jammy | main | amd64, arm64 |
| ubuntu | jammy-mainline | main | amd64, arm64 |
| ubuntu | noble | main | amd64, arm64 |
| ubuntu | noble-mainline | main | amd64, arm64 |
Заметки
Директива Nginx limit_rate может ограничивать скорость соединения, а limit_conn может ограничивать количество соединений по заданной переменной. Если клиент - это браузер, он открывает только одно соединение с сервером. Скорость будет ограничена до limit_rate, если только клиент не является многопоточным инструментом для загрузки.
ngx_http_limit_traffic_ratefilter_module предоставляет метод для ограничения общей скорости загрузки по IP-адресу клиента или URL-адресу загрузки, даже если имеется несколько соединений. Условие ограничения может быть задано с помощью следующей директивы.
Чтобы установить, скомпилируйте nginx с этой опцией ./configure:
--add-module=path/to/this/directory
Модуль limit_traffic_rate должен использовать общий пул памяти.
Синтаксис директивы аналогичен 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;
}
}
}