콘텐츠로 건너뛰기

Nginx client intended to send too large body 에러 메세지

nginx
nginx

Nginx 서버에서 발생하는 “client intended to send too large body” 에러 메세지는 파일 업로드 등의 작업을 수행 할 때 발생할 수 있는 오류 메세지 입니다.

413 Request Entity Too Large 원인

Nginx 서버의 업로드 용량 제한의 기본값은 1MB 입니다. 서버의 설정값을 변경하지 않고 기본값으로 사용하는 경우 파일 업로드 때 상태코드 413 “Request Entity Too Large”에러와 함께 에러 로그에서 “client intended to send too large body”라는 문구를 발견할 수 있습니다.

업로드 용량 변경

업로드 용량제한을 기본값인 1MB가 아닌 더 큰 값으로 변경하여 에러가 발생하지 않도록 수정 합니다.

Nginx의 설정 파일을 에디터로 오픈합니다.

sudo nano /etc/nginx/nginx.conf

설정에 client_max_body_size 값을 추가 합니다.

http {
        client_max_body_size 16M;
        
        ...
}

http 란에 client_max_body_size 값을 추가합니다. 저는 16M정도가 적당하다 생각되어 16M로 설정 하였습니다. 각자의 서버 환경에 맞추어 적당한 값을 설정 합니다.

client_max_body_size을 쓰지 않으면 기본값인 1MB이며, 업로드 용량에 제한을 두고싶지 않다면 아래와 같이 0으로 값을 설정하면 됩니다.

http {
        client_max_body_size 0;
        
        ...
}

원하는 값으로 설정이 끝났다면 파일을 nginx.conf 파일을 저장합니다.

nano 에디터에서는 ctrl+o 단축키로 저장하고 ctrl+x 단축키로 편집을 종료합니다.

sudo nginx -t

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

nginx -t 명령어로 nginx.conf 파일에 문제가 없는지 점검합니다. 수정 내용에 문제가 없다는 메세지가 확인되었다면 변경 내용이 적용 되도록 nginx 서버를 재시작 해 줍니다.

sudo systemctl restart nginx

서버가 재시작된 후 업로드 용량 제한이 잘 적용 되었는지 테스트 합니다.

댓글로 의견을 남겨주세요.