我们如何动态限制每位用户的nginx上传/下载速度?


8

可以使用特定位置的速率限制来限制速度。

但是,我们如何动态地做到这一点?

假设您有付费用户还是非付费用户,并且想给付费用户更大的带宽。

我们需要动态地检入数据库,并为该特定用户组提供一定的速度。

您是否在考虑Nginx模块?

Answers:


4

是的,您可以对特定位置进行速率限制。

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

您也可以在语句周围加上limite_rate,例如动态控制速率。有关限制率的更多详细信息,请参见此链接:http ://wiki.nginx.org/NginxHttpCoreModule#limit_rate

您应该注意另一个模块:http : //wiki.nginx.org/NginxHttpLimitZoneModule

该模块允许您设置连接数限制。因此,即使您设置了一个较低的限制,即使它们只能建立10个连接,您的限制也毫无意义。

我建议您让私人和公共用户获得不同的链接,以便Nginx可以轻松区分用户类型并在应用程序层中进行安全性验证。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.