티스토리 뷰
[node.js][nginx] 413 PayloadTooLargeError: request entity too large 에러가 나는 경우
김도리개발자 2021. 6. 3. 13:36node.js로 오랜만에 서버 작업을 하다가 이런 에러를 만나게 되었습니다!!
413 PayloadTooLargeError: request entity too large
body에 너무 큰 데이터를 넣은 것!
(상단의 이미지는 Postman으로 api를 쐈을 때 나온 결과입니다.)
열심히 구글링을 해보았습니다.
1번 (이 방법으로 해결 X)
맨 처음에는 서버설정을 수정해야 한다는 레퍼런스를 찾았습니다!!
(참고로, 제 서버는 nginx로 구동되고 있습니다.)
$ vi /etc/nginx/nginx.conf
nginx.conf 설정파일 안에 아래 max body size를 100MB로 설정해주는 코드를 넣어줍니다.
#nginx.conf
http {
# Set client upload size - 100Mbyte
client_max_body_size 100M;
...
..
.
}
이 설정을 마친 뒤 똑같은 api를 쐈지만 여전히 413 PayloadTooLargeError: request entity too large가 발생하였답니다😇
(로컬에서 테스트 해보기 때문에 서버 설정이 아무 소용 없다는 걸 방금 생각난 바보돌,,, 원래 그렇게 바보 아닌데,,,,)
출처 : https://velog.io/@wijihoon123/Nginx-413-request-entity-too-large
2번 (이 방법으로 해결 O)
더 열심히 찾다보니 node.js 서버 코드 자체를 수정해주는 레퍼런스를 찾았습니다!!
(api 서버의 언어로 node.js를 사용하고 있습니다.)
express를 사용하고 있는데
기본값으로는 .json()과 .urlencoded()가 100kb 까지만 파싱할 수 있도록 설정되어 있습니다!
그래서 express.js파일에 이 코드로 새로 적용해주었습니다!!
기존 코드 :
app.use(express.json());
app.use(express.urlencoded({extended: true}));
변경한 코드 :
app.use(express.json({ limit : "100mb" }));
app.use(express.urlencoded({ limit:"100mb", extended: false }));
전체코드 :
const express = require('express');
const compression = require('compression');
const methodOverride = require('method-override');
module.exports = function () {
const app = express();
app.use(compression());
app.use(express.json({ limit : "100mb" }));
app.use(express.urlencoded({ limit:"100mb", extended: false }));
app.use(methodOverride());
return app;
};
출처: https://spiralmoon.tistory.com/entry/Nodejs-PayloadTooLargeError-request-entity-too-large [Spiral Moon's programming blog]
이렇게 적용하니 아주 잘 돌아갑니다!!!👍👍
출처의 블로그 작성자님들 감사합니다!🙇♀️
'server > node.js' 카테고리의 다른 글
[node.js] URL로 이미지를 다운받아 sharp로 리사이징한 후 Firebase Storage에 업로드하기 (0) | 2021.07.30 |
---|---|
[server, Firebase Storage, Cloud Function]이미지 로딩 속도를 줄이기 위한 썸네일 제작 (0) | 2021.07.30 |
- Total
- Today
- Yesterday
- Grafana Alert
- github action
- javascript
- Hook
- SG
- ci/cd
- CSS
- ALB
- react
- 리액트
- js
- springboot
- AWS
- redux
- 모니터링
- Workflow
- RDS
- Grafana
- ECS
- subnet
- 로깅
- 서버
- EC2
- VPC
- Docker
- 인프라
- LOKI
- html
- ecr
- Service
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |