Nginx 413 Request Entity too large 에러 해결하기

nginx를 사용하다보면 아래와 같은 에러를 만나게 되는데요.

Http 413에러

모질라의 에러 정의에 따르면 HTTP 413 Payload Too Large 응답 상태 코드는

요청 엔터티가 서버에 의해 정의된 제한보다 크다는 것을 나타낸다고 합니다.

서버가 연결을 닫거나 헤더 필드(Retry-After)를 반환할 수 있다고 안내합니다.

바로 서버에서 아래처럼 응답이 나오게 됩니다.

203430803 1c6ca006 f9b9 495c ae1d c9451ed9c1f1

413에러 해결하는 방법

이제 원인을 찾았으니 해결하는 방법을 알아보겠습니다.

말 그대로 서버의 제한된 용량을 해제하면 되는데요.

웹서버에 접속하여 nginx의 설정을 변경해야 합니다.

서버에 접속한 다음 nginx의 설정파일인 nginx.conf 파일을 수정해야 합니다.

일반적으로 설치하였을 경우 위치는 etc/nginx/nginx.conf입니다.

관리자 권한이 필요하니 sudo를 통해 명령을 실행하고 nano 또는 vim 등

본인이 익숙한 에디터를 통해서 열어주시면 됩니다.

sudo nano /etc/nginx/nginx.conf
203431419 c69518bf 584b 453a 9ad9 abed1766e9e2

파일에 http 칸에 client_max_body_size 값을 설정하면 되는데요.

해당 필드가 없다면 기본값인 1Mbyte로 설정되어 있습니다.

용량을 별도로 설정할 수 있는데요. 해킹 등의 위협도 있으니

저는 5M로 설정해보겠습니다.

혹시 더 큰 용량이 필요하다면 해당 용량을 더 늘려서 설정해주시면 됩니다.

http {
  # Set client upload size - 1Mbyte
  client_max_body_size 5M;

수정이 완료되었다면, nginx를 재실행 합니다.

203432047 596f3c0d c03b 42ae a6b6 fab9e9ea2a61
sudo service nginx reload

명령어를 통해 nginx를 재실행하시면 됩니다.

이제 해당 413에러는 더이상 발생하지 않습니다.

혹시 더 큰 용량이 필요하다면 또 설정값을 변경하셔서 사용하시기 바랍니다.

보안상 너무 큰 용량을 설정하는 것은 위험하니 파일 업로드시

제한을 적절하게 사용하시기 바랍니다.

그럼 즐거운 하루 보내세요.

파트너스 활동으로 일정액의 수수료 등을 받을 수 있습니다.

Leave a Comment