본문 바로가기
Infra

[Infra] 프록시의 2가지 사용 전략인 Forward Proxy와 Reverse Proxy

by 진꿈청 2024. 3. 16.

프록시에는 2가지의 사용 전략이 있다.

 

이들을 구분하는 것은 네트워크를 기준으로 어디에 위치에 있냐이다.

 

네트워크 기준을 토대로 아래 두 가지로 나뉘어진다.

  • Forward Proxy
  • Reverse Proxy

이 둘의 개념은 살짝 모호하다.

둘의 차이에 관해 확실히 알아보자.

 

 

하지만, 시작하기에 앞서,

간단하게 이전에 포스팅 했던 프록시의 기능을 정리한다.

 

Proxy

  • 캐시
  • 프록시 서버를 거치는 요청 및 응답을 모두 확인할 수 있음
  • 필터링을 할 수 있음
  • 데이터 압축, 언어 변환이 가능

이런 공통점이 있는데 우리가 이야기할 Forward & Reverse는 위의 기능 모두 사용할 수 있다.

 

Forward Proxy

한 줄로 요약하자면 클라이언트 대신 서버로 요청을 보냄 이다.


Forward Proxy에 대해서 그림으로 표현하자면 아래 사진과 같다.

참고 블로그 사진

 

일반적으로 우리가 컴퓨터를 사용할 때 설정하는 프록시들이 바로 이 포워드 프록시라고 한다.

 

이런 포워드 프록시는 사용자가 직접 설치하거나 망 관리자가 설치한다.

 

포워드 프록시의 동작을 글로 표현하자자면

클라이언트가 naver.com에 연결하려고 하면 사용자 PC가 직접 연결하는 것이 아닌
포워드 프록시가 해당 요청을 받아서 naver.com에 연결하고 그 결과를 클라이언트에게 전달한다.


이런 포워드 프록시에는 대개 캐싱 기능이 강화되어 성능적으로 네트워크 비용 감소효과를 얻을 수 있다.

 

 

Reverse Proxy

마찬가지로 한 줄로 요약하자면 서버 대신 클라이언트의 요청을 받음이다.


Reverse Proxy에 대해서 그림으로 표현하자면 아래 사진과 같다.

 

 

이는 서버 관리자 또는 서버 개발자에 의해서 설정될 수 있다.

대표적으로 Nginx로 리버스 프록시를 설정하기도 한다.

 

리버스 프록시에 대한 과정을 이야기하자면

클라이언트가 naver.com에 데이터 요청을 하면 리버스 프록시가 요청을 받아서 내부 서버로 요청을 전달하고 응답을 받아 클라이언트에게 보낸다.

이런 리버스 프록시는 사용자가 리버스 프록시에 대한 서버의 IP만 알기 때문에 보안적인 측면에서 이득을 볼 수 있다.

 

두 전략의 차이점 정리

  1. 클라이언트가 요청하는 End Point 가 실제 서버 도메인이고 프록시는 둘 사이의 통신을 담당해준다.(Forward Proxy)
  2. 클라이언트의 정보가 감춰진다. (Forward Proxy)
  3. 클라이언트가 요청하는 End Point 가 프록시 서버의 도메인이고 실제 서버의 정보는 알 수 없다.(Reverse Proxy)
  4. 서버의 정보가 감춰진다.(Reverse Proxy)

 

 

참고 블로그

https://wonit.tistory.com/332

 

[Infrastructure] Proxy의 2가지 종류 Forward Proxy 그리고 Reverse Proxy의 명확하고 확실한 차이점을 이야기

Forward Proxy 그리고 ReverseProxy의 차이점에 대해서 알아보려 한다. 일단 이 차이점을 공부할 때 개념은 쉬웠지만 Forward와 Reverse 사이에 개념이 매우 혼동스러웠다. 뭔가 같은 기능을 수행하면서 같

wonit.tistory.com