Membatasi IP Tertentu Mengakses Situs dengan Nginx
Membatasi suatu IP
tertentu agar bisa atau tidaknya mengakses suatu situs bukanlah hal yang aneh dan sudah menjadi lumrah. Motif dari tujuan pembatasan tersebut berbeda-beda, misalnya ingin agar halaman administrasi atau beberapa aplikasi web lainnya hanya bisa diakses menggunakan IP
local saja.
Kali ini kita akan membahas mengenai pembatasan (restriction) suatu IP
tertentu mengakses situs dengan memanfaatkan bawaan web server Nginx. Langsung saja.
Persiapan
Masuk ke server Anda dan ubah konfigurasi Nginx-nya. Misalnya di /etc/nginx/nginx.conf
atau dari tiap-tiap server block Anda misalnya di /etc/nginx/sites-availables/default
.
Lalu masukan kode di bawah ini. Pembatasan melalui IP. Kita bisa menggunakn 2 metode yakni whitelist
dan blacklist
.
Whitelist
Ini berarti hanya semua IP ditolak kecuali yang masuk dalam daftar:
server { ... location / { allow 10.0.0.0/8; allow 1.2.3.4; deny all; ... } ... }
Blacklist
Kebalikan dari whitelist, yang berarti semua boleh akses kecuali dalam daftar hitam (blacklist), berikut kodenya:
server { ... location / { allow all; deny 10.0.0.0/8; deny 1.2.3.4; ... } ... }
Jika sudah selesai jangan lupa restart nginx nya.
sudo service nginx restart atau sudo systemctl restart nginx
Oke semoga bermanfaat.