Назад | Перейти на главную страницу

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

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

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

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

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

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

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

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

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

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

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

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