Как мы можем динамически ограничить скорость загрузки / выгрузки nginx для каждого пользователя?
Можно ограничить скорость, используя ограничение скорости в определенном месте.
Однако как мы можем сделать это динамически?
Допустим, вы заплатили против неоплачиваемых пользователей и хотите предоставить более высокую пропускную способность платным пользователям.
Нам нужно было бы динамически проверять базу данных и разрешать определенную скорость для этой конкретной группы пользователей.
У вас есть какой-нибудь модуль nginx?
1 ответ
Да, вы можете оценить ограничение на конкретное место.
location /something/ {
set $limit_rate 4k;
}
Вы также можете окружить limite_rate инструкциями, например, динамически контролировать ставки. Смотрите эту ссылку для получения дополнительной информации о предельной скорости: http://wiki.nginx.org/NginxHttpCoreModule
Есть еще один модуль, о котором вы должны помнить: http://wiki.nginx.org/NginxHttpLimitZoneModule
Этот модуль позволяет вам устанавливать пределы количества соединений. Таким образом, даже если вы установите нижний предел, если они могут просто установить 10 соединений, ваш лимит будет довольно бессмысленным.
Я предлагаю вам, чтобы частные и публичные пользователи получали разные ссылки, чтобы nginx мог легко различать типы пользователей и проверять на уровне приложений для безопасности.