Saat membangun aplikasi web, terutama yang melibatkan unggahan file seperti gambar, dokumen, atau video, Anda mungkin pernah menemui error:
413 Request Entity Too Large
Masalah ini sering terjadi pada server yang menggunakan Nginx sebagai reverse proxy atau web server. Penyebabnya? Ukuran file yang diunggah melebihi batas maksimum yang diizinkan oleh Nginx.
🧠 Apa Itu client_max_body_size
?
client_max_body_size
adalah direktif di konfigurasi Nginx yang menentukan batas maksimal ukuran request body yang bisa diterima oleh server dari client, termasuk file upload dan data POST.
Jika ukuran request melebihi batas ini, Nginx langsung menolak permintaan dan mengembalikan error 413 Request Entity Too Large.
⚙️ Berapa Batas Default-nya?
Secara default, jika client_max_body_size
tidak diatur, maka batas maksimalnya adalah:
1 Megabyte (1MB)
Ini cukup untuk formulir-formulir kecil, tetapi tidak cukup untuk upload file.
🛠️ Cara Mengatur client_max_body_size
Anda bisa menambahkan konfigurasi ini di tiga tempat:
- http: berlaku global untuk semua server
- server: berlaku untuk satu domain / virtual host
- location: berlaku spesifik untuk satu route (misalnya
/upload
)
Contoh di dalam blok server
:
server {
listen 80;
server_name contoh.com;
client_max_body_size 50M;
location / {
proxy_pass http://localhost:3000;
}
}
📌 Tips Penggunaan
- Jika Anda mengizinkan upload file berukuran besar, atur
client_max_body_size
sesuai kebutuhan (contoh:100M
,500M
, atau1G
). - Pastikan backend Anda (seperti PHP, Node.js, dll) juga mengizinkan ukuran yang sama atau lebih besar.
- Setelah mengubah konfigurasi, reload Nginx:
sudo nginx -t sudo systemctl reload nginx
✅ Kesimpulan
Error “413 Request Entity Too Large” sering terjadi karena batas default client_max_body_size
yang hanya 1MB. Dengan menyesuaikan nilai ini, Anda bisa memastikan pengguna dapat mengunggah file sesuai kebutuhan aplikasi Anda.
✨ Bonus: Contoh Penggunaan untuk Upload API
location /api/upload {
client_max_body_size 100M;
proxy_pass http://localhost:5000;
}
Jika Anda menggunakan Nginx untuk reverse proxy aplikasi seperti Laravel, Django, atau Express, konfigurasi ini wajib Anda perhatikan. Semoga artikel ini membantu Anda menghindari error dan membuat pengalaman pengguna lebih baik!