본문 바로가기
Today I Learned/Spring

[Spring] 프록시 서버

by 프로그래 밍구 2022. 10. 11.

Proxy Server

 프록시 서버는 클라이언트가 자신을 통해서 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해 주는 컴퓨터 시스템이나 응용 프로그램을 말한다. 즉, 클라이언트가 서버와 연결될 때 서버에 바로 접근하지 않고 자신을 통해 접근할 수 있도록 해주는 대리 역할을 하는 서버이다.

[그림 1] Proxy Server

프록시 서버는 위치에 따라서 Forward Proxy와 Reverse Proxy 두 가지로 나뉜다.

Forward Proxy

[그림 2] Forward Proxy

 클라이언트에 가까이 위치한 프록시 서버를 Forward Proxy라고 한다. Forward Proxy는 클라이언트가 동일한 요청을 보낼 때 서버에 재요청을 하지 않고 캐시에 저장해놓은 결과 데이터로 응답한다. 따라서 요청 결과를 클라이언트에게 빠르게 전달할 수 있는 장점이 있다. 또한 서버에서 클라이언트의 IP 추적이 필요한 경우 프록시 서버의 IP가 전달된다. 즉 서버에게 클라이언트를 숨길 수 있으므로보안상의 이점이 있다.

Reverse Proxy

[그림 3] Reverse Proxy

 Forward Proxy와 반대로 서버 가까이에 위치한 프록시 서버이며 서버를 대신해서 클라이언트에 응답을 제공한다. Reverse Proxy 구조에서 프록시 서버로 요청이 들어오면 여러 서버로 요청을 나누어 전달 후 처리한다. 클라이언트 - 서버 구조에서 사용자가 많아질 경우, 서버의 과부하를 방지하기 위해 부하를 분산시킬 수 있다. 또한 클라이언트의 요청 대상이 서버가 아닌 프록시 서버가 되므로 클라이언트에게 서버 IP 주소가 노출되지 않아 보안상의 이점이 있다.

댓글