Como podemos restringir dinamicamente a velocidade de upload / download do nginx por usuário?

8

É possível restringir a velocidade usando o limite de taxa em um local específico.

No entanto, como podemos fazer isso dinamicamente?

Digamos que você pagou contra usuários não pagos e deseja dar uma largura de banda maior aos usuários pagos.

Nós precisaríamos fazer check-in dinamicamente no banco de dados e permitir uma certa velocidade para esse grupo específico de usuários.

Você tem algum módulo nginx em mente?

Jonathan
fonte

Respostas:

4

Sim, você pode classificar o limite em um local específico.

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

Você também pode cercar o limite_rate com instruções como se também controlasse dinamicamente as taxas. Consulte este link para obter mais detalhes sobre a taxa limite: http://wiki.nginx.org/NginxHttpCoreModule#limit_rate

Há outro módulo que você deve estar atento: http://wiki.nginx.org/NginxHttpLimitZoneModule

Esse módulo permite definir limites de contagem de conexões. Portanto, mesmo se você definir um limite baixo, se eles puderem fazer 10 conexões, seu limite não terá sentido.

Sugiro que usuários públicos e privados obtenham links diferentes para que o nginx possa distinguir facilmente entre os tipos de usuários e verificar sua segurança na camada de aplicativos.

Mal humorado
fonte