일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- 방이편백육분삼십성신여대
- 방이편백육분삼십
- react
- 공무원
- 한성대맛집
- npm
- 성북구맛집
- 성신여대편백집
- 스페인여행
- JavaScript
- 통영예쁜카페
- springboot
- gradle
- 퇴사후공무원
- ubuntu자바설치
- 꼴뚜기회
- 영화추천
- 통영
- 뚝섬역맛집
- 돈암동맛집
- 한남동맛집
- 국가직
- 통영에어비앤비
- 자바스크립트에러처리
- 통영여행
- 파이썬
- ELK
- 서울숲누룽지통닭구이
- 성신여대맛집
- tomcat7
- Today
- Total
코린이의 기록
[Nginx] (Solved) client intended to send too large body 본문
문제
front-end에서 POST API를 사용하여 file을 upload 해야하는데, 10MB 이상을 업로드 하려니까 아래와 같은 error log가 발생했다.
서버 환경 : Nginx
error log
[error] 7#7: *17 client intended to send too large body: 10596411 bytes,
해결 방법
해결방법은 간단하지만 reverse proxy라는 속성으로 조금 해매었다.
nginx config (conf.d/default.conf)파일에서 client_max_body_size 라는 부분만 추가해주면되는데, 업로드할 서버의 {} 안에 해당 설정값을 넣어주어야 한다.
conf.d/default.conf
server {
listen 8080;
....
}
server {
listen 8081;
location / {
client_max_body_size 20M;
proxy_pass http://${UPLOAD_HOST}:${UPLOAD_PORT};
}
}
Proxy Server를 쓰는 이유
Proxy Server는 다른 네트워크에 간접적으로 접속할 수 있게 해주는 서비스로 클라이언트와 서버간의 중간 다리 역할을 해준다. 프록시 서버는 Firewall 역할을 Proxy Server에서 하기때문에 외부 공격에 안전하다. 또한 캐시를 사용하기 때문에 리소스 접근이 빠르다.
Reverse Proxy Server를 쓰는 이유
리버스 프록시는 주로 서버 관리자가로드 밸런싱 및 고 가용성을 달성하는 데 사용한다. 웹 사이트에는 리버스 프록시 뒤에 여러 웹 서버가있을 수 있습니다. 리버스 프록시 서버는 인터넷에서 요청을 가져 와서 이러한 요청을 웹 서버 중 하나에 전달합니다. 즉, 클라이언트가 a라는 웹서버의 주소로 요청했을때 reverse proxy에 의해 설정된 내부 ip를 통해 뒷 단에 있는 server의 주소b를 요청한다.
참고!
내부 네트워크에서 클라이언트를 보호하려면 forward proxy를, 서버를 보호하려는 의도가 있다면 reverse proxy를 사용한다.
Reference
https://www.jscape.com/blog/bid/87783/forward-proxy-vs-reverse-proxy
'Web' 카테고리의 다른 글
[Nginx] javascript source not update (0) | 2019.05.29 |
---|---|
[Web] conf/web.xml 과 WEB-INF/web.xml (0) | 2019.04.18 |
[Web] Web Application 디렉토리구조(Maven)과 각종 설정파일들 (0) | 2018.09.04 |