반응형
413 (Request Entity Too Large) 오류 해결 방법

 

 

◆ 증상


스프링 Multipart를 이용해 파일 업로드 기능을 구현하고 업로드 용량 제한을 설정했다.
하지만 서버에 배포한 뒤 실제로 파일을 업로드해 보니, 특정 용량 이상의 파일은 업로드가 되지 않는 문제가 발생했다.
구현 로직에 문제가 있나 싶어 소용량 파일로 테스트해 본 결과, 작은 파일은 정상적으로 업로드되는 것을 확인했다.

[Spring] MultipartFile 파일 업로드 최대크기 제한 조정

 

 

◆ 에러 원인


Nginx 에러 로그를 확인한 결과, 파일 업로드 요청 시 413 (Request Entity Too Large) 오류가 발생하고 있는 것을 확인했다.
이는 Nginx에서 설정한 클라이언트 요청 본문의 최대 허용 크기를 초과했을 때 발생하는 오류로, 제한된 크기보다 큰 요청이 들어오면 Nginx가 요청을 차단하고 413 에러를 반환한다.

 

 

◆ 해결 방법


nginx.conf 파일에서 클라이언트 요청 본문의 최대 허용 크기인 client_max_body_size를 지정한 뒤 nginx를 재시작하면 문제가 해결된다.

#nginx.conf

http {
    ...
    client_max_body_size 100m;
    ...
}

용량 단위는 다음과 같이 지정할 수 있다.
● KB : k
MB : m
GB : g

 

참고로 client_max_body_size를 설정하지 않으면 기본값은 1m로 지정이 되며, 용량 제한을 두고 싶지 않은 경우는 client_max_body_size 값을 0으로 지정하면 된다.

 

 

참조
client_max_body_size
https://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size

 


글 내용 중 잘못된 부분이 있거나, 첨부하실 내용이 있으시면 댓글로 남겨주세요. 공부하는데 많은 도움이 됩니다.
-- 기억의 유효기간은 생각보다 짧다. --

 

반응형