Nginx client_max_body_size mặc định


94

Tôi đã gặp lỗi nginx:

413 Request Entity Too Large

Tôi đã có thể cập nhật client_max_body_sizetrong phần máy chủ của tệp nginx.conf của tôi lên 20M và điều này đã khắc phục sự cố. Tuy nhiên, nginx mặc định là client_max_body_sizegì?

Câu trả lời:


137

Giá trị mặc định cho client_max_body_sizechỉ thị là 1 MiB .

Nó có thể được thiết lập trong http, serverlocationbối cảnh - như trong hầu hết trường hợp , điều này chỉ trong một khối lồng nhau được ưu tiên hơn các chỉ thị tương tự trong khối tổ tiên .

Trích từ tài liệu ngx_http_core_module :

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

Đặt kích thước tối đa được phép của nội dung yêu cầu khách hàng, được chỉ định trong trường tiêu đề yêu cầu "Nội dung-Độ dài". Nếu kích thước trong một yêu cầu vượt quá giá trị được định cấu hình, thì lỗi 413 (Đối tượng Yêu cầu Quá Lớn) sẽ được trả về máy khách. Xin lưu ý rằng các trình duyệt không thể hiển thị chính xác lỗi này. Đặt kích thước thành 0 sẽ vô hiệu hóa việc kiểm tra kích thước nội dung yêu cầu của khách hàng.

Đừng quên tải lại cấu hình bằng nginx -s reloadhoặc service nginx reloadcác lệnh có sẵn sudo(nếu có).


2
Đến muộn cần lưu ý rằng bạn nên sử dụng nginx -tđể kiểm tra cấu hình của mình trước khi chạy nginx -s reloadđể áp dụng các thay đổi cấu hình. Nó không thể đảm bảo cấu hình của bạn là chính xác, nhưng nó sẽ bắt lỗi cú pháp hoặc giá trị không hợp lệ.
kungphu

2
Có, nhưng trong mọi trường hợp, nginx -s reloadsẽ không áp dụng cấu hình sai cú pháp mà sẽ báo lỗi.
ruvim

Là gì tối đa giá trị mà Nginx hỗ trợ cho chỉ thị này? Không có gì trong tài liệu. Apache hỗ trợ tối đa 2GB .
Dan Dascalescu

@DanDascalescu, giá trị lớn nhất phụ thuộc vào off_tkích thước kiểu (xem ngx_http_core_module.h). Trong trường hợp 64-bit, off_tkích thước thực thi là 64 bit và giá trị tối đa phải là 2 ^ 63 byte.
ruvim

19

Câu trả lời của Pooja Mane phù hợp với tôi, nhưng tôi phải đặt biến client_max_body_size bên trong phần http .

nhập mô tả hình ảnh ở đây


1
Tôi thích nó khi mọi người đặt đoạn mã, bạn là một anh hùng
Charden Daxicen

14

Bạn có thể tăng kích thước cơ thể trong tệp cấu hình nginx như

sudo nano /etc/nginx/nginx.conf

client_max_body_size 100M;

Khởi động lại nginx để áp dụng các thay đổi.

dịch vụ sudo nginx khởi động lại


10
Tại sao 100 triệu? Tại sao không phải là 100G? Câu trả lời của bạn sẽ cải thiện nếu bạn thêm một cơ sở lý luận.
Hassan Baig

10
Vâng, 42 triệu sẽ tốt hơn.
Evgeni Nabokov

2
thiết lập nó 0 cho unlimit
Morteza Moradi
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.