Forward Proxy, Reverse Proxy

Park JeaHyun·2022년 10월 4일
0

Proxy 구조


프록시란 사전적 의미로 '대리'라는 의미이다. 예를 들어 PC#1(3.3.3.3)에서 네이버(5.5.5.5)를 접속할 때 PC#2(9.9.9.9)를 거쳐서 접속을 하게 될 때 Proxy 구조라고 한다.

따라서 간단하게 Proxy Server 란 클라이언트와 서버간의 중계서버로, 통신을 대리 수행하는 서버이다. Proxy에는 다양한 종류가 있으며, 이번엔 Network Proxy에 대해 알아보자. Network Proxy에는 크게 2가지가 있으며 Forward Proxy와 Reverse Proxy가 있다. 이런 Network Proxy의 장점으로는 캐시 / 보안 / 트래픽 분산 등 여러 장점을 가질 수 있다.

참고
네트워크를 구성하는 큰 요소 3가지는 inline, out of path, proxy가 있다. 이중 inline과 out of path는 packet 단위의 데이터를 다루는 특징이 있고, proxy는 application 단의 stream, socket 데이터를 다루는 특징이 있다,

Forward Proxy



포워드 프록시는 일반적으로 프록시, 프록시 서버 혹은 웹 프록시라고 불린다. 포워드 프록시는 클라이언트들 앞에 위치한다. 클라이언트들(A)이 서버(C)에 요청(Request)을 보내면 포워드 프록시(B)가 해당 요청을 서버 대신 받아서 서버에게 전달(Forward) 해준다. 마찬가지로 서버의 응답(Response)을 포워드 프록시가 대신 받아 클라이언트에게 전달해준다.

Forward Proxy의 특징 1: 익명성

클라이언트에서 프록시 서버를 거쳐 요청을 보내게 되면, 서버 측은 클라이언트의 정보가 아닌 포워드 프록시의 정보를 받게 된다. 따라서 서버 측에 클라이언트의 정보를 숨길 수 있다.

Forward Proxy의 특징 2: 캐시

포워드 프록시는 캐싱 기능을 지원하기 때문에 동일한 요청에 대해 캐싱된 내용을 전달하여 성능을 향상시킬 수 있다.

Forward Proxy의 특징 3: 접속 제한 회피

일부 정부, 학교, 기타 조직은 방화벽을 사용하여 사용자들에게 제한된 액세스를 제공한다. 포워드 프록시를 이용하면 사용자가 방문하는 사이트에 직접 연결하지 않고 프록시에 연결하여 이러한 제한을 회피하는데 사용할 수 있다.

Forward Proxy의 특징 4: 특정 콘텐츠 제한

위와는 반대로, 사용자들이 특정 콘텐츠에 접속하는 것을 제한할 수 있다. 예를 들어 학교와 같은 곳에서 도박, 음란물 사이트와 같은 곳을 포워드 프록시의 필터링 규칙으로 제한할 수 있다.

Reverse Proxy


리버스 프록시는 웹 서버들 앞에 위치한다. 리버스 프록시도 포워드 프록시와 마찬가지로 클라이언트의 요청을 받아 서버에게 전달하고, 서버의 응답을 받아 클라이언트에게 전달한다. 

그렇다면 리버스 프록시와 포워드 프록시의 차이점은 뭘까? 우선 리버스 프록시는 서버 앞에 위치한다는 점이 다르다. 또한, 포워드 프록시가 관련 클라이언트들을 위해 임의의 서버에 접속하는 중간 매개체인 반면, 리버스 프록시는 관련 서버들을 위해 임의의 클라이언트가 해당 서버에 접속하는 중간 매개체이다. 쉽게 말해, 포워드는 주로 클라이언트들을 위해, 리버스는 서버들을 위해 일한다고 생각하면 편하다.

Reverse Proxy의 특징 1: 보안(익명성)

보통 기업의 네트워크 환경은 비무장 지대(DMZ)라고 불리는 내부 네트워크와 외부 네트워크 사이에 위치하는 구간이 존재한다. 그림와 같이 DMZ 내에 외부에 서비스를 제공하는 서버(메일 서버, 웹서버, DNS 서버 등)를 배치하고 네트워크는 1,2차 방화벽으로 보호한다. 

WAS를 DMZ에 위치해놓고 서비스해도 되지만, 이 경우 만약 WAS의 보안이 털릴 경우 관련된 DBMS 서버도 같이 털리는 심각한 문제가 발생할 수 있다. 따라서 이때 DMZ존에 WAS를 직접 놓는 대신, 웹 서버를 두고 해당 웹 서버를 리버스 프록시로 설정해놓고 WAS는 내부망에 위치시킨다.

이렇게 하면 만약 리버스 프록시 웹 서버가 털리더라도 2차 방화벽을 뚫어야 하므로 보안이 강해질 수 있다.

Reverse Proxy의 특징 2: 캐시

포워드 프록시와 마찬가지로 캐싱 기능을 제공하여 성능을 높일 수 있다.

Reverse Proxy의 특징 3: 로드 밸런싱

수많은 클라이언트들의 요청을 하나의 서버로 처리하는 것은 불가능하다. 리버스 프록시를 이용하면 대용량 트래픽을 분산시켜 가각 다른 서버로 분배해주는 로드 밸런싱 기능을 사용할 수 있다. 

0개의 댓글