limit_traffic_rate_zone
Директива `limit_traffic_rate_zone` определяет зону разделяемой памяти с ограничениями для управления скоростью загрузки для конкретных переменных трафика.
Описание
Директива limit_traffic_rate_zone используется для создания зоны разделяемой памяти, которая отслеживает скорость трафика для заданной переменной, обычно IP-адреса клиента или конкретного URI запроса. Эта директива имеет решающее значение для реализации формирования трафика, позволяя ограничивать общий доступный клиентам объём пропускной способности за заданный промежуток времени.
Эта директива требует три аргумента: тип ограничения скорости, переменную, которая будет контролироваться (например, $remote_addr для указания IP-адреса или $request_uri для конкретных URL), и размер зоны памяти (например, 32m). Зона разделяемой памяти хранит информацию, необходимую для расчёта скорости загрузки и эффективного управления ограничениями подключений, позволяя NGINX регулировать скорости трафика по мере необходимости, чтобы предотвратить чрезмерное использование пропускной способности.
Для применения ограничений директива limit_traffic_rate также должна быть настроена в соответствующем контексте (например, server или location). Эта директива затем использует настройки, установленные в limit_traffic_rate_zone, чтобы управлять тем, сколько данных отправляется клиенту на основе заданной скорости трафика.
Пример конфига
http {
limit_traffic_rate_zone rate $remote_addr 32m;
server {
location /download/ {
limit_traffic_rate rate 20k;
}
}
}Убедитесь, что размер зоны памяти достаточно велик, чтобы вместить ожидаемое количество одновременных соединений.
Будьте осторожны с параметром rate, определённым в директиве limit_traffic_rate, чтобы избежать непреднамеренного ограничения пропускной способности.
Не забудьте перезагрузить NGINX после внесения изменений, чтобы применить новые настройки.