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

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

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

然而,我们如何才能动态地做到这一点?

假设您有付费用户和非付费用户,并且您想为付费用户提供更高的带宽。

我们需要动态检查数据库并为该特定用户组允许一定的速度。

您有任何想用的 nginx 模块吗?

答案1

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

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

您还可以使用类似 if 的语句包围 limite_rate,以动态控制费率。有关 limite rate 的更多详细信息,请参阅此链接:http://wiki.nginx.org/NginxHttpCoreModule#limit_rate

还有一个模块你需要注意:http://wiki.nginx.org/NginxHttpLimitZoneModule

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

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

相关内容