Saat Nginx digunakan sebagai server backend untuk aplikasi web seperti WordPress , Drupal , dst . (yang biasanya berbasis PHP dan Database MySQL), banyak pengguna menemukan kesalahan:‘413 – Entitas Permintaan Terlalu Besar '.
Kesalahan ini terjadi setiap kali pengguna mencoba mengunggah file yang lebih besar dari ukuran file unggahan maksimum yang dikonfigurasi. Batas default untuk ukuran unggahan file adalah 1 MB seperti yang didefinisikan dalam Nginx konfigurasi.
[ Anda mungkin juga menyukai:Cara Memperbaiki 504 Gateway Timeout di Server Nginx ]
Biasanya, kesalahan ini ditemukan oleh WordPress admin mencoba menginstal plugin untuk pertama kalinya. Misalnya, saya mencoba memasang 'Pengelola Unduhan ' Plugin WordPress pada pengaturan WP lokal saya, itu memberi saya kesalahan yang sama:
Ubah Batas Ukuran File Unggah di Nginx
Buka Nginx file konfigurasi dalam Vim atau editor teks pilihan Anda.
$ sudo vim /etc/nginx/nginx.conf
Tambahkan direktif ‘client_max_body_size '. Arahan ini mendefinisikan ukuran maksimum tubuh permintaan klien. Secara default, nilai direktif ini adalah 1MB . Meningkatkan nilai ini akan memungkinkan Anda mengunggah file berukuran lebih besar yang dikirim bersama permintaan.
Tambahkan baris berikut di bawah ‘http’ blok:
client_max_body_size 16M;
Anda bahkan dapat memasukkan angka yang lebih tinggi daripada 16 MB jika diperlukan. Sekarang, simpan dan tutup file.
Mulai ulang Nginx dengan perintah berikut.
$ sudo systemctl restart nginx
Sekarang Nginx . Anda penyiapan akan memungkinkan Anda mengunggah file hingga 16 MB dalam ukuran. Mari kita coba menginstal plugin lagi.
Bahkan setelah mengonfigurasi ukuran file Nginx, batas unggah file PHP masih memblokir unggahan. Mari kita lihat cara mengubahnya.
Ubah Batas Ukuran Upload PHP
Nginx digunakan bersama dengan aplikasi web berbasis PHP, dan masalah yang ditunjukkan di atas dapat muncul karena batasan ukuran unggahan file PHP.
Buka file ‘php.ini ' yang ada di direktori konfigurasi PHP.
$ sudo vim /etc/php/7.4/fpm/php.ini OR $ sudo vim /etc/php.ini
Buka variabel upload_file_maxsize , yaitu ukuran maksimum file yang diizinkan untuk diunggah, dan post_maxsize , yaitu ukuran maksimum permintaan kiriman.
Saat file diunggah sebagai bagian dari permintaan posting, post_maxsize harus selalu lebih besar dari upload_file_maxsize .
Ubah nilainya sesuai kebutuhan.
upload_max_filesize = 16M post_max_size = 20M
Simpan dan keluar dari file.
Mulai ulang PHP , serta Nginx , agar konfigurasi baru berlangsung:
$ sudo systemctl restart php7.4-fpm $ sudo systemctl restart nginx
Anda harus mengganti php7.4 pada perintah di atas dengan apa pun versi PHP Anda, atau bahkan hanya ‘php ' jika itu adalah nama layanan PHP di mesin Anda.
Ukuran file yang baru ditentukan sekarang diizinkan untuk mengunggah file di aplikasi web, dan plugin berhasil melanjutkan instalasi.
Kesimpulan
Kami telah melihat bagaimana menangani masalah entitas permintaan yang terlalu besar di aplikasi web berbasis Nginx. Perhatikan bahwa tidak hanya PHP tetapi jika CGI lain digunakan dengan Nginx, masalah dapat terjadi; dalam hal ini pengguna dapat meningkatkan batas dalam file konfigurasi untuk CGI tertentu.
Terima kasih telah membaca dan beri tahu kami pendapat Anda di komentar di bawah!