nginx를 reverse proxy 서버로 사용하여 80을 받아 8080으로 쏴주려고 하다보니 아래의 개념을 익히게 되었다.
우선 프록시
란 뭘까? 쉽게말해 아래처럼 생각하면 된다.
일을 대신 처리함
크게 포워드와 리버스로 나눠짐
: 클라이언트와 인터넷 사이에 위치하고 있음. 먼저 클라이언트의 접속을 받는 역할을 하기 때문에 포워드라고 함.
캐싱: 한번 서버에 응답했던 내용을 저장해두었다가 나중에 다른 클라이언트가 같은 질문을 하면 서버 통신을 하지 않고 캐싱된 정보를 제공. Ex> 오늘날씨 어때?
1. 전송시간 절약
2. 불필요한 외부전송 하지 않음
3. 외부요청감소: 네트워크 병목현상 방지.
보안 : 서버에게 요청보낸 클라이언트의 정보를 숨긴다. 서버가 받은 요청 ip는 proxy ip이다.
캐싱: 포워드 프록시와 동일
보안 : 서버정보를 클라이언트로 부터 숨김 => 클라이언트는 리버스 프록시를 실제 서버라고 생각하여 요청. 실제 서버의 ip가 노출되지 않음
로드밸런싱(optional) :
1. 설명 : 부하분산 => 해야 할일을 분산
2. 나타난 배경 : scale up(서버의 성능을 높이는것) 해서 해결 => 트래픽 증가 => 램을 꽂을 수 있는 소켓이 서버안에 부족 => scale out(서버의 대수를 늘리는 것) 도입 => 트래픽 증가 해결
출처 :https://www.youtube.com/watch?v=YxwYhenZ3BE
그럼 nginx에 대해 알아보러 슝!