413 Request Entity Too Large

Memperbaiki Error 413 Request Entity Too Large

Kasus error 413 Request Entity Too Large seringkali dialami pada saat melakukan permintaan ke server. Hal ini disebabkan karena pengaturan server secara default membatasi ukuran permintaan dari klien. Pengaturan ini tentu mempunyai maksud dan tujuan tertentu. Sebagai contoh paling umum adalah ketika orang hendak melakukan upload file berukuran lebih besar dari yang diperbolehkan oleh server maka akan muncul pesan kesalahan ini.

Ada beberapa konfigurasi yang bisa dilakukan untuk memperbaiki Error 413 Request Entity Too Large, tergantung pada server yang digunakan. Karena pada saat ini server web yang paling umum digunakan adalah Nginx dan Apache, maka dalam pembahasan kali ini saya membatasi hanya pada konfigurasi kedua server web tersebut. Untuk server jenis lainnya akan dibahas pada kesempatan lain.

Baca juga: Untuk development environment, Laragon alternatif xampp terbaik di Windows

Web Server yang digunakan

Dari sisi server web yang digunakan, ada konfigurasi untuk mengubah batasan ukuran file yang di-upload.

Nginx

Apabila server web yang digunakan adalah Nginx, cara yang dapat dilakukan adalah dengan menambahkan baris sintaks client_max_body_size.

Apabila ingin mengubah konfigurasi Nginx secara global, di mana terkadang dalam satu server memiliki beberapa aplikasi, baris perintah tersebut dapat ditambahkan pada file konfigurasi global yakni /etc/nginx/nginx.conf.

Sedangkan apabila ingin mengubah pengaturan hanya pada aplikasi tertentu saja, tambahkan baris perintah tersebut ke file konfigurasi aplikasi yang bersangkutan.

Dalam contoh ini menambahkan di file konfigurasi server Nginx secara individual di 

/etc/nginx/sites-available/<<namafile aplikasi>>
server {
     client_max_body_size 128M;
     .................
}
Memperbaiki Error 413 Request Entity Too Large

Ukuran standar pada konfigurasi Nginx adalah 1M (1 MegaByte). Apabila kita tidak menginginkan pembatasan maka nilai tersebut diubah menjadi 0. Namun tentu saja hal tersebut SANGAT TIDAK DIANJURKAN karena dapat menyebabkan terjadinya hal-hal yang tidak diinginkan.

Dalam contoh pada gambar di atas, saya mengatur ukuran request file size menjadi 128M. Bisa saja dengan nilai 256M, 512M, dan sebagainya, silakan diubah sesuai kebutuhan dan tentu saja sesuai dengan kemampuan server menangani permintaan.

Agar perubahan itu berlaku, maka setelah melakukan perubahan pada konfigurasi Nginx tersebut jangan lupa restart layanan Nginx dengan perintah :

sudo service nginx reload

Apache

Selain Nginx, web server yang paling umum digunakan saat ini adalah Apache. Pada Apache perintahnya bernama LimitRequestBody. Perintah LimitRequestBody ini memiliki fungsi yang linear dengan perintah client_max_body_size pada Nginx. Perintah ini ditambahkan pada file konfigurasi http.conf untuk pengaturan globalnya atau pada file .htaccess untuk pengaturan secara individual per-aplikasi.

Secara default nilai LimitRequestBody adalah 0. Misalkan kita ingin mengubah nilai tersebut agar mengakomodir permintaan sebesar 100MB, nilai tersebut ditulis dalam bentuk bytes. Nilai 100MB dalam bytes apabila dikonversikan sama dengan 104857600 bytes. Maka konfigurasi pada server Apache adalah sebagai berikut:

LimitRequestBody 104857600

Setelah melakukan perubahan, simpan perubahan file tersebut kemudian lakukan restart service Apache agar perubahan tersebut berlaku.

service apache2 restart

Baca juga: Covid 19 news mengajarkan kita tentang percepatan era revolusi industri 4.0

Memperbaiki Error 413 Request Entity Too Large melalui konfigurasi PHP

Selain melakukan perubahan melalui pengaturan server web seperti Apache dan Nginx, kita juga dapat membuat modifikasi melalui pengaturan PHP. Ooh no, why PHP? Jawabannya simple: sebagian besar aplikasi web saat ini berbasis PHP!

File konfigurasi utama PHP adalah file php.ini. Pada varian distro Ubuntu dan saudara-saudaranya file ini berada di /etc/php/<versi PHP>/fpm/php.ini. Misalnya apabila menggunakan PHP versi 7.4 maka filenya adalah /etc/php/7.4/fpm/php.ini.

Baris perintah yang digunakan untuk pengaturan ini adalah upload_max_filesize dan post_max_size. Secara default upload_max_filesize adalah 2M (2 Megabyte) dan post_max_size 8M.

Dalam contoh di bawah ini saya mengatur nilai upload_max_filesize sebesar 128M dan nilai post_max_size sebesar 128M juga. Maka masukkan atau ubah nilai pada baris perintah tersebut di dalam file php.ini

Contoh:

upload_max_filesize 128M;
...........
post_max_size 128M;
Memperbaiki Error 413 Request Entity Too Large
Mengubah konfigurasi file php.ini

Gambaran perubahan yang dilakukan dapat dilihat pada gambar di atas. Setelah melakukan perubahan, simpan hasil modifikasi tersebut kemudian restart service php-fpm agar dampaknya berlaku.

sudo service php7.3-fpm reload

Baca juga: Code editor terbaik 2020 untuk coding, yang terakhir bikin penasaran!

Sampai jumpa di artikel berikutnya.

Leave a Reply