프록시(Proxy)란?

[출처] 위키백과

  • 영단어로 직역하면 '대리' 또는 '중계'라는 의미
  • 서버와 클라이언트 사이의 중계 역할 자체를 프록시(Proxy)라고 하고, 그 중계 기능을 하는 장치 또는 응용 프로그램을 프록시 서버라고 한다.
  • 네트워크 구조에서 프록시 서버가 사용되는 위치에 따라 Forward Proxy와 Reverse Proxy로 구분된다.

 

프록시(Proxy)의 종류

Forward Proxy

Forward Proxy

Forward Proxy 란?

  • 일반적인 프록시 형태
  • 클라이언트가 직접 인터넷에 접근하는 것이 아닌 클라이언트 단 앞에 Rroxy Server를 위치시켜 Proxy Server가 요청을 받고 인터넷에 연결하여 서버와 통신 후 클라이언트에게 반환하는 방식

Forward Proxy 사용 이점

  • Proxy의 기능 중 하나인 캐싱 기능을 이용하여 이전의 요청과 동일한 요청이 수신될 경우 프록시 서버에 응답을 저장해두고 클라이언트에게 전달함으로써 불필요한 부하를 줄여 성능을 향상시킬 수 있다.
  • 서버 측에서 요청을 받을 때 클라이언트 IP가 아닌 프록시 서버의 IP로 요청을 받게됨으로 서버 측에 클라이언트의 정보를 숨길 수 있다.
  • 정부나 공공기관, 기업 등에서는 개인보다 보안에 좀 더 민감하여 정해진 웹 서버 등에만 접근할 수 있도록 제한을 해두는 경우가 많은데 이때 Forward Proxy를 사용함으로써 정해진 웹 서버에만 접근할 수 있도록 접근 제한 설정을 할 수 있다.

Reverse Proxy

Reverse Proxy 란?

  • Forward Proxy와 반대로 애플리케이션 서버 앞에 위치한 형태
  • 클라이언트가 요청할 때 직접 웹 서버에 요청하는 것이 아닌 애플리케이션 서버 앞에 설치된 Proxy Server에 요청을 하고 Proxy Server가 애플리케이션 서버로 데이터를 요청하고 클라이언트 측에게 응답하는 방식

Reverse Proxy 사용 이점

  • 애플리케이션 서버(이하 WAS)와 클라이언트가 직접 통신을 하여 서비스를 제공해도 되지만 보통 WAS는 DB서버와 연결이 되어 있기 때문에 직접 클라이언트와 통신을 하다 WAS가 공격에 당할 경우 DB서버까지 공격을 당할 수 있는 상황이 생기는데 이때 Reverse Proxy 방식을 사용하여 Rroxy Server를 DMZ에 두고 실제 서비스 서버는 내부망에 위치시켜 공격에 대한 부담을 줄일 수 있다.
  • Forward Proxy와 마찬가지로 캐싱 기능을 이용해 중복된 요청이 전송될 경우 프록시에 응답을 캐싱함으로써 불필요한 부하를 줄여 성능을 향상시킬 수 있다.
  • Reverse Proxy를 사용함으로써 본래 서버의 IP 주소를 노출시키지 않고 통신함으로써 본 서버의 정보를 숨기는 효과가 있다.
  • Proxy Server의 로드밸런싱 기능을 이용하여 Proxy Server를 여러 개의 서버 앞에 두고 사용할 경우 특정 서버가 과부화되지 않게 부하를 조절할 수 있다.