Bagaimana kita dapat membatasi kecepatan unggah / unduh nginx secara dinamis per pengguna?

8

Dimungkinkan untuk membatasi kecepatan menggunakan batas nilai pada lokasi tertentu.

Namun, bagaimana kita dapat melakukannya secara dinamis?

Katakanlah Anda telah membayar vs pengguna tidak berbayar dan Anda ingin memberikan bandwidth yang lebih tinggi kepada pengguna berbayar.

Kami perlu memeriksa secara dinamis di Database dan memungkinkan kecepatan tertentu untuk kelompok pengguna tertentu ini.

Apakah Anda memiliki modul nginx?

Jonathan
sumber

Jawaban:

4

Ya, Anda dapat menilai batas pada lokasi tertentu.

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

Anda juga dapat mengelilingi limite_rate dengan pernyataan seperti jika juga untuk secara dinamis mengontrol tarif. Lihat tautan ini untuk perincian lebih lanjut tentang tingkat batasan: http://wiki.nginx.org/NginxHttpCoreModule#limit_rate

Ada modul lain yang harus Anda perhatikan: http://wiki.nginx.org/NginxHttpLimitZoneModule

Modul itu memungkinkan Anda untuk menetapkan batas jumlah koneksi. Jadi, bahkan jika Anda menetapkan batas rendah, jika mereka hanya dapat membuat 10 koneksi, batas Anda agak tidak berarti.

Saya sarankan Anda memiliki pengguna pribadi dan publik mendapatkan tautan yang berbeda sehingga nginx dapat dengan mudah membedakan antara jenis pengguna dan memverifikasi di lapisan aplikasi Anda untuk keamanan.

Pemarah
sumber