Cara Membatasi Request di Nginx untuk Mencegah DDoS
Cara Membatasi Request di Nginx untuk Mencegah DDoS. Tidak semua traffic ke website Anda berasal dari manusia. Banyak bot, crawler, bahkan serangan DDoS ringan yang bisa membanjiri server dengan request berlebihan.
Akibatnya?
- Website jadi lambat
- Server overload
- Bahkan bisa down total
Solusinya: Rate Limiting di Nginx.
🧠 Apa Itu Rate Limiting di Nginx?
Rate limiting adalah teknik untuk membatasi jumlah request dari satu IP dalam periode waktu tertentu.
Tujuannya:
- Mencegah spam request
- Mengurangi beban server
- Melindungi dari serangan bot dan DDoS ringan
⚙️ Cara Setting Rate Limiting di Nginx
🔧 1. Tambahkan Konfigurasi Limit Zone
Buka file konfigurasi utama:
sudo nano /etc/nginx/nginx.conf
Tambahkan di dalam blok http { ... }:
limit_req_zone $binary_remote_addr zone=limit:10m rate=10r/s;
🔍 Penjelasan
- $binary_remote_addr → IP user
- zone=limit:10m → ruang memori untuk tracking IP
- rate=10r/s → maksimal 10 request per detik
⚡ 2. Terapkan di Server
Buka file konfigurasi website:
sudo nano /etc/nginx/sites-available/default
Tambahkan di dalam blok server { ... }:
limit_req zone=limit burst=20 nodelay;
🔍 Penjelasan
- burst=20 → toleransi lonjakan request
- nodelay → request diproses langsung tanpa delay
🔄 Restart Nginx
sudo nginx -t
sudo systemctl restart nginx
🧪 Cara Test Rate Limiting
Gunakan tools seperti:
- ApacheBench (ab)
- wrk
- curl loop
Jika limit tercapai, server akan memberikan:
503 Service Temporarily Unavailable
⚠️ Tips Penting

- Jangan terlalu ketat agar user asli tidak terganggu
- Sesuaikan dengan trafik website Anda
- Gunakan limit berbeda untuk endpoint tertentu
🔥 Bonus: Batasi Request Login (Anti Brute Force)
Tambahkan khusus untuk login:
location /login {
limit_req zone=limit burst=5 nodelay;
}
👉 Sangat efektif untuk mencegah brute force attack.
🛡️ Kombinasi dengan Security Lain
Untuk hasil maksimal, kombinasikan dengan:
- Firewall (UFW)
- Fail2Ban
- CDN seperti Cloudflare
🎯 Manfaat yang Akan Anda Rasakan
- Server lebih stabil
- Terhindar dari spam bot
- Risiko DDoS ringan berkurang
- Performa tetap terjaga
🎯 Kesimpulan
Rate limiting di Nginx adalah langkah penting untuk menjaga kestabilan server. Dengan konfigurasi sederhana, Anda bisa melindungi server dari request berlebihan tanpa perlu tools mahal.
Leave a Reply