Contents

프록시 서버

포워드 프록시(Forward Proxy)

일반적으로, 프록시 서버라고 하면 포워드 프록시를 의미한다. 포워드 프록시란 클라이언트와 인터넷 사이에 프록시가 위치해서 클라이언트 대신 서버에 요청을 보내주는 형태를 말한다.

https://user-images.githubusercontent.com/46465928/158541003-b1731915-ee56-43a6-bc71-dfd1376da8d4.png

포워드프록시를 통해 얻는 이점은 다음과 같다.

  1. 로컬 네트워크와 인터넷 사이 오가는 트래픽을 제어할 수 있다. 예를 들어 초등학교 안에서 학생들이 부적절한 콘텐츠를 브라우징하는 것을 막기 위해서 포워드 프록시를 사용할 수 있다.
  2. 포워드 프록시는 대개 캐싱 기능이 있으므로 어떤 콘텐츠가 빈번하게 사용된다면 월등한 성능 향상을 가져올 수 있다. 서버의 응답을 캐싱해서 저장해두면 전송 시간이 절약되며, 불필요한 외부 전송을 하지 않아도 된다. 또한 외부 요청이 감소되므로 네트워크 병목 현상을 방지할 수 있다.
  3. 보안을 강화할 수 있다. 클라이언트의 요청을 포워드 프록시가 요청한 것처럼 가장함으로써 서버로부터 클라이언트의 정보를 클라이언트의 요청을 숨길 수 있고, 정해진 사이트만 연결하게 설정하는 등 웹 사용 환경을 제한하는 것도 가능하다. 또한 포워드 프록시에서 네트워크 패킷 로깅도 가능하기 때문에 보안이 매우 중요한 기업 환경등에서 많이 사용한다.

리버스 프록시(Reverse Proxy)

리버스 프록시는 서버와 인터넷 사이에 위치해서 서버의 응답을 대신 클라이언트에게 전달해주는 역할을 한다. 리버스 프록시는 포워드 프록시의 가장 큰 차이점은 리버스 프록시는 포워드 프록시와 다르게 인터넷과 서버 사이에 위치한다는 점이다.

https://user-images.githubusercontent.com/46465928/158541025-5b05f98b-3cc3-48a4-a959-3f01022c0817.png

리버스 프록시를 통해 얻는 이점은 다음과 같다.

  1. 로드밸런싱(Load Balancing) 이 가능하다. 클라이언트의 요청이 많아지면 서버는 과부하로 동작을 멈추게 될 수 있다. 이러한 문제를 방지하기 위해서는 여러대의 서버에게 적절하게 트래픽을 나눠주어야 한다. 이러한 방법을 로드밸런싱이라고 한다.
  2. 보안상의 이유로 클라이언트가 직접서버에 접근하는 것을 원하지 않는 경우, 리버스 프록시를 통해 클라이언트가 간접적으로 서버에 접근할 수 있도록 만들 수 있다. 이 경우 리버스 프록시가 방화벽 역할을 한다고도 볼 수 있다.

참고

개발자가 되기 위해 꼭 알아야 하는 IT 용어, 비제이리퍼블릭