
Sửa lỗi client intended to send too large body trong Nginx
Nếu trong quá trình sử dụng website như upload dữ liệu lên web, bạn và khách hàng của bạn có thể gặp phải thông bao lỗi 413 – client intended to send too large body thì trong bài viết này sẽ hướng dẫn bạn cách để khắc phục vấn đề này.
Nếu gặp lỗi trên bạn dùng lệnh sau để xem qua nhật ký lỗi ở /var/log/nginx/error.log
tail -n 100 /var/log/nginx/error.log
là có thể thấy lỗi “client intended to send too large body” như dưới đây.
referrer: «http://vutruso.com/san-pham/?action=products» 2023/09/08 12:31:40 [error] 27335#0: *14419 client intended to send too large body: 1492176 bytes, client: 123.123.123.123, server: vutruso.com, request: «POST /san-pham/?module=pages&action=uploadimage&r=2 HTTP/1.1», host: «vutruso.com», referrer: «http://vutruso.com/san-pham/?action=products»
Để khắc phục lỗi này khá đơn giản bạn chỉ cần thêm lệnh client_max_body_size vào tệp cấu hình Nginx và tăng size cho client_max_body_size là được.
client_max_body_size là một tùy chọn cấu hình trong máy chủ web Nginx, được sử dụng để xác định dung lượng tối đa cho phép của dữ liệu được gửi từ máy khách (client) đến máy chủ Nginx thông qua HTTP POST hoặc PUT requests.
Giá trị của client_max_body_size được đo bằng byte và có thể được thiết lập tùy ý. Mục đích của tùy chọn này là để kiểm soát kích thước của dữ liệu được gửi lên máy chủ để tránh tình trạng tấn công hoặc việc gửi dữ liệu lớn có thể gây quá tải cho máy chủ.
Ví dụ, để cho phép máy chủ Nginx xử lý các yêu cầu có kích thước dữ liệu tối đa là 50 megabyte, bạn có thể cấu hình như sau trong tệp cấu hình Nginx /etc/nginx/nginx.conf
:
Bài viết liên quan
http { # ... client_max_body_size 50M; # ... }
Sau khi sửa xong bạn chạy lệnh, sudo nginx -t
để test xem config có vấn đề gì không và chạy sudo systemctl reload nginx
để reload lại Nginx
Lưu ý rằng giá trị 50M ở đây đại diện cho 50 megabyte. Bạn có thể sử dụng các đơn vị khác nhau như K cho kilobyte hoặc G cho gigabyte tùy theo nhu cầu của bạn.
Nếu bạn là người dùng cuối khi thuê host thì có thể liên hệ với nhà cung cấp hosting để được hỗ trợ.