기본 nginx client_max_body_size


94

nginx 오류가 발생했습니다.

413 Request Entity Too Large

client_max_body_sizenginx.conf 파일의 서버 섹션에서 20M 으로 업데이트 할 수 있었고 이로 인해 문제가 해결되었습니다. 그러나 기본 nginx는 client_max_body_size무엇입니까?

답변:


137

client_max_body_size지시문 의 기본값 은 1MiB 입니다.

http, serverlocation컨텍스트 에서 설정할 수 있습니다 . 대부분의 경우 중첩 된 블록 의이 지시문은 조상 블록의 동일한 지시문보다 우선합니다 .

ngx_http_core_module 문서 에서 발췌 :

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

"Content-Length"요청 헤더 필드에 지정된 클라이언트 요청 본문의 최대 허용 크기를 설정합니다. 요청의 크기가 구성된 값을 초과하면 413 (Request Entity Too Large) 오류가 클라이언트에 반환됩니다. 브라우저는이 오류를 올바르게 표시 할 수 없습니다. 크기를 0으로 설정하면 클라이언트 요청 본문 크기를 확인할 수 없습니다.

또는 (있는 경우) 앞에 오는 명령으로 구성다시로드하는 것을 잊지 마십시오 .nginx -s reloadservice nginx reloadsudo


2
구성 변경 사항을 적용 nginx -t하기 nginx -s reload위해 실행 하기 전에 구성을 테스트 하는 데 사용해야 합니다 . 구성이 정확하다고 보장 할 수는 없지만 구문 오류나 잘못된 값을 포착합니다.
kungphu

2
예, 그러나 어떤 경우 nginx -s reload에도 구문 적으로 잘못된 구성을 적용하지는 않지만 오류를보고합니다.
ruvim

Nginx가이 지시문에 대해 지원 하는 최대 값은 얼마입니까? 문서에는 아무것도 없습니다. Apache는 최대 2GB를 지원합니다 .
Dan Dascalescu

@DanDascalescu, 최대 값은 off_t유형 크기에 따라 다릅니다 (참조 ngx_http_core_module.h). 64 비트의 경우 실행 가능한 off_t크기는 64 비트 이고 최대 값은 2 ^ 63 바이트 여야합니다.
ruvim

19

Pooja Mane의 답변은 저에게 효과적 이지만 http 섹션에 client_max_body_size 변수 를 넣어야했습니다 .

여기에 이미지 설명 입력


1
나는 사람들이 코드 스 니펫을 넣을 때 그것을 좋아합니다. 당신은 영웅입니다
Charden Daxicen

14

nginx 구성 파일에서 본문 크기를 다음과 같이 늘릴 수 있습니다.

sudo nano /etc/nginx/nginx.conf

client_max_body_size 100M;

nginx를 다시 시작하여 변경 사항을 적용하십시오.

sudo 서비스 nginx 다시 시작


10
왜 100M인가? 100G가 아닌 이유는 무엇입니까? 근거를 추가하면 답변이 향상됩니다.
Hassan Baig

10
예, 42M이 더 좋을 것입니다.
Evgeni Nabokov

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.