대신 또는 대리의 의미를 갖고 있는 프록시(Proxy),
클라이언트와 서버 사이의 중게 서버를 프록시 서버(Proxy Server)라고 합니다.
프록시 서버(Proxy Server)
- 클라이언트가 프록시를 통해서 다른 네트워크 서비스에 간접적으로 접속할 수 있게 지원해주는 응용 프로그램
- 서버와 클라이언트의 중계자 역할을 수행
- 프록시 서버 내부 캐시 존재해 빠른 응답이 가능합니다.
- 원격 서버에 대한 트래픽을 감소시킬 수 있어 병목 현상 방지가 가능합니다.
프록시 서버를 나누는 2가지 방식이 존재합니다. 그건 포워드 프록시(Forward Proxy)와 리버스 프록시(Reverse Proxy)입니다.
포워드 프록시(Forward Proxy)
내부망에서 클라이언트와 연결된 프록시로, 클라이언트의 요청을 서버로 전달해주는 역할을 수행하며, 캐시가 존재해 서버에 접근하지 않고 클라이언트에게 빠르게 응답 처리(캐싱)가 가능합니다.
이 경우 서버에서 받는 IP는 클라이언트의 IP가 아닌 프록시 서버의 IP이기 때문에 클라이언트가 누구인지 모르게 되며,서버에게 클라이언트가 누구인지 감춰주는 역할(익명성)을 하게 됩니다. 이러한 특징 때문에 기업 사내망에서 주로 사용이 됩니다.
- 캐싱(Caching)
- 클라이언트가 요청한 내용을 캐싱해둬서 서버에 접근하지 않고, 같은 요청을 빠르게 응답 처리가 가능하다.
- 전송시간 절약, 불필요한 외부 전송하지 않으며, 병목현상을 방지합니다.
- 익명성(Anonymous)
- 클라이언트의 정보가 아닌 포워드 프록시(Forward Proxy)의 정보를 전달함
- 서버가 받은 요청을 누가 보냈는지 알지 못하게 합니다.
리버스 프록시(Reverse Proxy)
클라이언트가 내부 서버로 요청하는 모든 요청을 리버스 프록시(Reverse Proxy)를 통해 처리가 됩니다.
리버스 프록시가 실제 서버라고 생각해 클라이언트가 요청을 하고 리버스 프록시는 응답을 해줍니다. 실제 서버의 정보를 클라이언트에게 숨기기 때문에 내부 서버를 보호하는 역할을 합니다.
- 캐싱(Caching)
- 포워드 프록시와 동일
- 클라이언트가 요청한 내용을 캐싱해둬서 서버에 접근하지 않고, 같은 요청을 빠르게 응답 처리가 가능하다.
- 전송시간 절약, 불필요한 외부 전송하지 않으며, 병목현상을 방지합니다.
- 보안(security)
- 서버의 정보를 클라이언트로부터 숨긴다.
- 클라이언트는 리버스 프록시(Reverse Proxy)를 실제 서버라고 생각하여 요청을 하게 돼 실제 서버의 IP가 노출되지 않는다.
- 로드밸런싱(Load Balancing)
- 리버스 프록시(Reverse Proxy)뒤에 여러개의 WAS(Web Application Server)를 둠으로써, 사용자 요청을 분산합니다.
- 리버스 프록시(Reverse Proxy)뒤에 여러개의 WAS(Web Application Server)를 둠으로써, 사용자 요청을 분산합니다.
예상 질문
포워드, 리버스 프록시의 공통점과 차이점에 대해서 말해주세요
두 프록시는 클라이언트가 요청한 내용을 서버에 직접 접근하지 않고, 캐싱해둔 요청값들이 있다면 그것을 이용합니다.
다른 점은 포워드 프록시는 익명성을 유지해주지만, 리버스 프록시는 서버의 실제 IP를 노출하지 않기 때문에 보안성이 생깁니다.
'CS > 네트워크' 카테고리의 다른 글
SSL/TLS Handshake에 대해서 (0) | 2022.01.20 |
---|---|
HTTP Method 정리 (0) | 2022.01.18 |
로드 밸런싱(Load Balancing) 이란? (0) | 2022.01.16 |
웹사이트에 접속할 때 일어나는 상황에 대해서 (0) | 2022.01.15 |
쿠키(Cookie) & 세션(Session)의 차이에 대해서 알아보자! (0) | 2022.01.14 |