티스토리 뷰

용어이해

Forward Proxy vs. Reverse Proxy

까매요~ ccambo 2015.01.25 13:56

아파치 웹 서버 (Apache Web Server)에는 mod_proxy 모듈이 내장되어 있다. 이 모듈은 Forward Proxy (이하 전달 프록시) 와 Reverse Proxy (이하 배후 프록시) 기능을 제공한다.

Forward Proxy

사용자 (이하 클라이언트)가 특정 서버에 연결하려고 할 때 클라이언트 PC가 직접 연결하는 것이 아니라 클라이언트가 내부의 전달 프록시를 통해서 요청을 하면 전달 프록시가 클라이언트가 요청한 정보를 기준으로 요청을 전달하고, 연결된 서버의 결과를 전달 프록시가 클라이언트로 반환해 주는 것이다.

일반적으로 사내망 (Private Network) 에서 외부로 나갈 때 사용하는 프록시를 의미한다. 아래의 그림을 보면 쉽게 이해할 수 있다.

또한 캐시 기능을 통해서 자주 사용되는 컨텐츠라면 성능향상을 제공하고, 정해진 규칙에 따라 사용자들의 접속을 조정할 수 있기 때문에 기업 환경에서 많이 사용된다.

Reverse Proxy

위에서 설명한 전달 프록시와는 반대로 생각하면 된다. 즉, 외부의 요청을 배후 프록시가 받아서 내부 망에 존재하는 서버에 연결하고 결과를 클라이언트에 반환한다. 그냥 내부에 존재하는 서버를 외부의 연결에 노출해도 되지만 보안 상의 이유로 이렇게 구성하지 않는다.

기업망에서는 일반적으로 DMZ 이라고 표현하는 내부 망과 외부 망을 구분하는 영역을 지정하고 이 영역에 메일 서버, 웹 서버, FTP 서버등을 배치해서 서비스를 한다. 그러나 보통 WAS (웹 어플리케이션 서버)를 DMZ에 배치하게 되는 경우에 일반적으로 WAS를 통해서 데이터베이스에 접근하는 경우가 많기 때문에 WAS를 내부 망에 배치하고 DMZ 영역에는 배후 프록시를 배치해서 외부에서는 배후 프록시만 노출이 되고 실제 서비스가 진행되는 서버들은 모두 내부 망에 배치되도록 하는 것이 보통이다.

따라서 DMZ에는 요청에 대한 주소 매핑 처리를 위한 아파치 웹 서버만 배치해서 배후 프록시 매핑을 통해 내부 망의 WAS에 연결해서 운영하게 된다.

Difference

Forward Proxy vs. Reverse Proxy
[ 출처 : http://janus.uclan.ac.uk/pagray/co3708/notes/c-s-lec2a.htm ]

위의 그림에서 보는 것과 같이 전체 흐름에서 보면 클라이언트에서 외부로 요청이 나가는 쪽에 전달 프록시가 존재하고 외부의 요청을 받아서 내부로 들어오는 쪽에 배후 프록시가 존재하게 된다.

Written by Morris (MSFL)


'용어이해' 카테고리의 다른 글

Forward Proxy vs. Reverse Proxy  (0) 2015.01.25
댓글
댓글쓰기 폼