100%를 한번에 바꾸는건 어려워도 1%를 100번 바꾸는건 쉽다.

생각정리 자세히보기

개발/Node.js (NestJS)

[Node.js] 413 Payload Too Large 오류 해결

dc-choi 2024. 11. 1. 22:09
반응형

안녕하세요. 이번 시간에는 413 Payload Too Large 오류를 해결해보는 시간을 가져보겠습니다.

 

413 Payload Too Large란?

서버에서 처리할 수 있는 요청이 지정된 제한보다 큰 오류

 

RFC 9110부터는 Content Too Large로 오류 명이 수정됨.

 

https://developer.mozilla.org/ko/docs/Web/HTTP/Status/413

 

413 Content Too Large - HTTP | MDN

HTTP 413 Content Too Large 응답 상태 코드는 요청 엔터티가 서버에 의해 정의된 제한보다 크다는 것을 나타냅니다. 서버는 연결을 닫거나 Retry-After 헤더 필드를 반환할 수 있습니다.

developer.mozilla.org

 

해결 방법

우선 저는 Nginx를 사용하고 있습니다. Nginx를 리버스 프록시로 사용하고 있는데요. Nginx의 설정을 다음과 같이 변경하게 됩니다.

...

client_max_body_size 10M; # 기본값은 1M라고 한다.

...

 

Nginx의 기본 설정중 client_max_body_size를 설정하면 됩니다.

 

다음으로는 Express.js에서 요청 사이즈를 조절하는 방법입니다.

app.use(express.urlencoded({ extended: true }));
app.use(express.json({ limit: '10mb' }));
app.use(express.raw({ limit: '10mb' }));

 

다음과 같이 요청의 최대 크기를 설정할 수 있게 됩니다. NestJS에서도 Express.js를 내장하고 있어서 똑같이 설정하면 됩니다.

반응형