Как мы можем динамически ограничить скорость загрузки / выгрузки nginx для каждого пользователя?

8

Можно ограничить скорость, используя ограничение скорости в определенном месте.

Однако как мы можем сделать это динамически?

Допустим, вы заплатили против неоплачиваемых пользователей и хотите увеличить пропускную способность для платных пользователей.

Нам нужно было бы динамически проверять базу данных и разрешать определенную скорость для этой конкретной группы пользователей.

У вас есть какой-нибудь модуль nginx?

Джонатан
источник

Ответы:

4

Да, вы можете оценить ограничение на конкретное место.

location /something/ { 
    set $limit_rate  4k; 
}

Вы также можете окружить limite_rate инструкциями, например, динамически контролировать ставки. Смотрите эту ссылку для получения дополнительной информации о предельной скорости: http://wiki.nginx.org/NginxHttpCoreModule#limit_rate

Есть еще один модуль, о котором вы должны помнить: http://wiki.nginx.org/NginxHttpLimitZoneModule

Этот модуль позволяет вам устанавливать пределы количества соединений. Таким образом, даже если вы установите нижний предел, если они могут просто установить 10 соединений, ваш лимит будет довольно бессмысленным.

Я предлагаю вам, чтобы частные и публичные пользователи получали разные ссылки, чтобы nginx мог легко различать типы пользователей и проверять на уровне приложений для безопасности.

Сердитый
источник