Nginx client_max_body_size default

94

Saya mendapatkan error nginx:

413 Request Entity Too Large

Saya telah dapat memperbarui saya client_max_body_sizedi bagian server file nginx.conf saya ke 20M dan ini telah memperbaiki masalah. Namun, apa itu nginx default client_max_body_size?

atw
sumber

Jawaban:

137

Nilai default untuk client_max_body_sizedirektif adalah 1 MiB .

Ini bisa disetel dalam http, serverdan locationkonteks - seperti dalam kebanyakan kasus , arahan dalam blok bersarang ini lebih diutamakan daripada arahan yang sama di blok leluhur .

Kutipan dari dokumentasi ngx_http_core_module :

Syntax:   client_max_body_size size;
Default:  client_max_body_size 1m;
Context:  http, server, location

Menyetel ukuran maksimum yang diizinkan dari badan permintaan klien, yang ditentukan di bidang header permintaan "Panjang Konten". Jika ukuran dalam permintaan melebihi nilai yang dikonfigurasi, kesalahan 413 (Permintaan Entitas Terlalu Besar) dikembalikan ke klien. Perlu diketahui bahwa browser tidak dapat menampilkan kesalahan ini dengan benar. Menetapkan ukuran ke 0 menonaktifkan pemeriksaan ukuran tubuh permintaan klien.

Jangan lupa untuk memuat ulang konfigurasi dengan nginx -s reloadatau service nginx reloadperintah yang sudah ada sebelumnya sudo(jika ada).

ruvim
sumber
2
Datang terlambat untuk dicatat bahwa Anda harus menggunakan nginx -tuntuk menguji konfigurasi Anda sebelum menjalankan nginx -s reloaduntuk menerapkan perubahan konfigurasi. Itu tidak dapat menjamin konfigurasi Anda benar, tetapi itu akan menangkap kesalahan sintaks atau nilai yang tidak valid.
kungphu
2
Ya, tetapi bagaimanapun juga, nginx -s reloadtidak akan menerapkan konfigurasi yang salah secara sintaksis tetapi akan melaporkan kesalahan.
ruvim
Berapa nilai maksimum yang didukung Nginx untuk arahan ini? Tidak ada apa-apa di dokumen. Apache mendukung maks 2GB .
Dan Dascalescu
@DanDascalescu, nilai maksimum bergantung pada off_tukuran jenis (lihat ngx_http_core_module.h). Dalam kasus off_tukuran 64-bit yang dapat dieksekusi adalah 64 bit , dan nilai maksimalnya harus 2 ^ 63 byte.
ruvim
19

Jawaban Pooja Mane berhasil untuk saya, tetapi saya harus meletakkan variabel client_max_body_size di dalam bagian http .

masukkan deskripsi gambar di sini

Aleksei Mialkin
sumber
1
Saya suka ketika orang memasukkan potongan kode, Anda adalah pahlawan
Charden Daxicen
14

Anda dapat meningkatkan ukuran tubuh di file konfigurasi nginx sebagai

sudo nano /etc/nginx/nginx.conf

client_max_body_size 100M;

Mulai ulang nginx untuk menerapkan perubahan.

sudo service nginx restart

Pooja Mane
sumber
10
Mengapa 100 juta? Mengapa tidak 100G? Jawaban Anda akan meningkat jika Anda menambahkan alasan.
Hassan Baig
10
Ya, 42 juta lebih baik.
Evgeni Nabokov
2
setel 0 untuk unlimit
morteza moradi