본문 바로가기

IT&프로그래밍 용어사전

프록시 서버(Proxy Server) 개념

프록시 서버(Proxy Server)

 

Proxy는'대리','위임'을 뜻하는 단어로, 프록시 서버(Proxy Server)는 클라이언트가 서버와 소통할 때, 서버에 바로 접근하지 않고 자신을 통해 서버에 접근할 수 있도록 해주는 일종의 대리 서버

 

프록시 서버의 종류

프록시 서버는 위치에 따라 Forward Proxy와 Reverse Proxy 두 가지로 나뉩니다. 간단하게 말하자면 프록시 서버가 클라이언트에 가까이 있는지, 서버에 가까이 있는지로 구분할 수 있습니다. 각각 다른 목적을 기대하기 때문에 상황을 고려하여 판단을 내릴 수 있습니다.

1. Forward Proxy

Forward Proxy는 위의 그림과 같이 클라이언트 가까이에 위치한 프록시 서버로 클라이언트를 대신해 서버에 요청을 전달합니다. 

  • 캐싱 기능: 사용자의 빠른 서비스 이용 가능 클라이언트는 서비스의 서버가 아닌 프록시 서버와 소통하게 됩니다. 그러한 과정에서 여러 클라이언트가 동일한 요청을 보내는 경우 첫 응답을 하며 결과 데이터를 캐시에 저장해놓고, 이후 서버에 재 요청을 보내지 않아도 다른 클라이언트에게 빠르게 전달할 수 있습니다.
  • 보안 강화: 클라이언트에서 프록시 서버를 거친 후 서버에 요청이 도착하기 때문에, 서버에서 클라이언트의 IP 추적이 필요한 경우 클라이언트의 IP가 아닌 프록시 서버의 IP가 전달됩니다. 서버가 응답받은 IP는 프록시 서버의 IP이기 때문에 서버에게 클라이언트를 숨길 수 있습니다.

2. Reverse Proxy

Reverse Proxy는 반대로 서버 가까이에 위치한 프록시 서버로 서버를 대신해서 클라이언트에 응답을 제공합니다. 이후 로드밸런서 챕터에서 자세히 배울 분산처리를 목적으로 하거나 보안을 위해 프록시 서버를 이용합니다. Reverse Proxy를 사용함으로 인해 얻을 수 있는 장점으로는 다음과 같습니다.

  • 분산처리 클라이언트: 서버 구조에서 사용자가 많아져 서버에 과부하가 올 경우를 위해 부하를 분산할 수 있습니다. Reverse Proxy 구조에서 프록시 서버로 요청이 들어오면 여러대의 서버로 요청을 나누어 전달 후 처리합니다.
  • 보안 강화: Reverse Proxy는 클라이언트에게 서버를 숨길 수 있습니다. 클라이언트 입장에서의 요청보내는 서버가 프록시 서버가 되므로 실제 서버의 IP주소가 노출되지 않습니다.