Proxy Server

Feb 10, 2019


1. Proxy

  • 사전적 의미 : ‘대리’
  • 네트워크 기술에서는 프로토콜에 있어 ‘대리 응답’ 등에 사용되는 개념
  • 프록시 : 대신(대리로) 통신을 수행하는 기능, 중계 기능이라고 설명할 수 있다. 이러한 기능을 처리하는 서버가 프록시 서버

2. Proxy Server

  • 프록시 서버는 중계기의 역할을 수행하기 때문에 클라이언트와 서버 입장에서 서로 상반되는 역할을 수행하는 것으로 보인다.
    • 클라이언트 호스트에게는 원격 서버처럼
    • 서버에게는 또 다른 하나의 클라이언트처럼
  • 목적 : 크게 보안과 캐싱, 두 가지 목적으로 사용된다.
    • 보안 : 내부 네트워크와 외부 네트워크를 구분하는 DMZ 네트워크가 존재하는데, DMZ 네트워크에 프록시 서버를 두고 실제 서비스 서버를 내부 네트워크에 두어 실제 서비스 서버에 대한 접근을 프록시 서버를 통해서만 가능하게 하여 보안 상의 이점을 가질 수 있다.
    • 캐싱 : 프록시 서버에 요청된 내용들을 캐시를 이용하여 저장해 두면, 캐시되어 있는 데이터를 요구하는 요청들에 대해서는 원격 서버에 접속하여 데이터를 가져올 필요가 없게 됨으로써 전송, 응답 시간을 절약할 수 있게 되고 외부와의 불필요한 연결을 줄일 수 있게 되어 트래픽을 감소시켜 네트워크 병목 현상을 방지할 수 있다.
  • 프록시 서버의 위치에 따라 크게 두 가지로 나눌 수 있다.

(1) Foward Proxy

클라이언트 호스트들과 접근하고자 하는 원격 리소스의 사이에 위치하는 경우 Foward Proxy

  • 원격 서버로부터 요청된 리소스를 가져와서 사용자들에게 돌려주는 역할을 수행한다.
  • 로컬 디스크에 데이터를 저장하며, 캐시된 데이터가 남아있다면, 다음 요청 시에도 캐시된 데이터를 제공한다.
  • 사용자에게 정해진 사이트에만 연결할 수 있도록 웹 사용 환경을 제한할 수 있다.
  • 클라이언트가 프록시 서버에 연결되었다는 것을 알 수 있다.
  • 대역폭 사용을 감소시킬 수 있고 접근 정책 구현에 대해서도 다루기 쉽다.
  • 비용이 저렴하다.

(2) Reverse Proxy

인터넷 리소스 또는 인트라넷 리소스 바로 앞에 위치하는 경우 Reverse Proxy

  • 클라이언트가 프록시 서버에 연결되었다는 것을 알 수 없다. 요청한 리소스에 직접 접근하는 것처럼 보인다.
  • 실제 서비스 서버에 대한 접근을 리버스 프록시 서버를 통해서만 가능하게 하여 보안 상의 이점을 가질 수 있다.
  • 마찬가지로 요청에 대한 데이터를 캐시할 수 있으므로 실제 서비스 서버에 대한 부하 조절이 가능하다.