¿Cómo podemos restringir dinámicamente la velocidad de carga / descarga de nginx por usuario?

8

Es posible restringir la velocidad utilizando el límite de velocidad en una ubicación específica.

Sin embargo, ¿cómo podemos hacerlo dinámicamente?

Supongamos que ha pagado frente a usuarios no pagos y desea otorgar un mayor ancho de banda a los usuarios pagos.

Tendríamos que registrar dinámicamente la base de datos y permitir una cierta velocidad para este grupo particular de usuarios.

¿Tienes algún módulo nginx en mente?

Jonathan
fuente

Respuestas:

4

Sí, puede calificar el límite en una ubicación específica.

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

También puede rodear el limite_rate con declaraciones como if también para controlar dinámicamente las tasas. Consulte este enlace para obtener más detalles sobre la tasa limitada: http://wiki.nginx.org/NginxHttpCoreModule#limit_rate

Hay otro módulo que debe tener en cuenta: http://wiki.nginx.org/NginxHttpLimitZoneModule

Ese módulo le permite establecer límites de recuento de conexiones. Entonces, incluso si establece un límite bajo, si solo pueden hacer 10 conexiones, su límite no tiene sentido.

Le sugiero que los usuarios privados y públicos obtengan diferentes enlaces para que nginx pueda distinguir fácilmente entre los tipos de usuarios y verificar la seguridad en su capa de aplicación.

Gruñón
fuente