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
서버가 재시작된 후 업로드 용량 제한이 잘 적용 되었는지 테스트 합니다.