Cara membatasi kecepatan download pada Nginx
Teman saya memiliki sebuah file server yang bisa diakses umum, isinya cuma aplikasi buatan pribadi dan hosting file yang dianggapnya menarik. Secara keseluruhan tidaklah ada masalah kalau yang sedang diunduh file – file kecil, tapi kalau pas yang diambil pengunjung yang berukuran besar seperti ISO Linux dan pakai download manager bisa habis bandwidthnya saat itu dan kuota per bulan VPSnya. Maka dari itu terpikir untuk membatasi kecepatan downloadnya pada Nginx.
Dan caranya sendiri di Nginx tidaklah sulit. Disini saya mengasumsikan kita menyediakan file statis yang disimpan pada direktori unduhan
. Pengunjung per alamat IP hanya boleh menggunakan 1 koneksi dan dibatasi bandwidthnya maksimal sebear 512KBps.
Pada blok location{}
(dalam konfigurasi virtual host) sisipkan kode ini:
location /unduhan/ {
limit_conn addr 1;
limit_rate 512k;
}
Saya menyarankan agar solusi ini dipakai secara spesifik pada satu tempat selain websitenya, maka dari itu saya letakkan dalam direktori sendiri sehingga terpisah. Karena kalau dibuat universal maka pengunjung situsnya juga akan kena throttle, dan ini bisa merusak tampilan website anda minimal, dan bisa jadi ada fitur yang tidak berfungsi. Memang tujuan utamanya adalah untuk mengatur kecepatan download file statis.
Setelah itu restart proses Nginx agar diterapkan setting barunya.