@SkyTaurus

Как в nginx сделать динамическое ограничение скорости скачивания?

Добрый день.
Прочитал статью про ограничение скорости и возник такой вопрос — а можно ли скорость менять динамически через arg параметры?
Пробую так — но получается ошибка в конфиге.
location ~ ^/play/.*\.mp3$ {
rewrite ^/play/(.*)$ /$1 break;
if ($args ~ speed=(.+)) {
limit_speed one $arg_speed;
}
root /var/www;
}

Про заголовок X-Accel-Limit-Rate в курсе, но он работает не так.
Мне пока видится вариант генерить конфиг nginx и перечитывать.
  • Вопрос задан
  • 2771 просмотр
Пригласить эксперта
Ответы на вопрос 2
VBart
@VBart
А если почитать документацию?
Ограничение скорости можно также задать в переменной $limit_rate. Это может быть полезно в случаях, когда скорость нужно ограничивать в зависимости от какого-либо условия:

server {

    if ($slow) {
        set $limit_rate 4k;
    }

    ...
}

Ответ написан
Комментировать
@SkyTaurus Автор вопроса
Это не то - документацию смотрел.
$limit_rate Ограничение устанавливается на запрос, поэтому, если клиент одновременно откроет два соединения, суммарная скорость будет вдвое выше заданного ограничения.
Мне же нужно использовать модуль nginx_limit_speed_module чтобы ограничение работало для ip, а не для соединения. Вопрос - как динамически менять параметр?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы