[개념] 포워드 프록시와 리버스 프록시의 장단점 및 차이 정리
일반적으로, 나는 우리가 처리하지 않고 처리에 대한 작업을 다른 서버에게 넘겨주는 것을 “프록시해준다.” 라는 문장으로 표현해왔다. 프록시에는 포워드 프록시 / 리버스 프록시 두가지가 존재한다고 한다.
이 둘의 차이에 대해 정리할 예정인데 그 전에 비유적인 표현으로 이 둘을 정의해보자면 다음과 같다.
- 포워드 프록시:
회사 / 군대
등 보안 등을 위해특정 사이트 / 컨텐츠에 접근 제한
하기 위해 특정 기관 / 인프라 내의 네트워크가밖으로 요청하기 위해 거쳐야 하는 서버
- 리버스 프록시: 회사의 도메인으로 오는 모든 요청을 먼저 받아주는 (like nginx, api-gw) 서버
즉, 포워드 프록시는 클라이언트 입장에서 클라이언트 요청을 대신 요청해주는 서버
리버스 프록시는 서버의 입장에서 서버 대신 먼저 요청을 받아주는 서버
포워드 프록시(Forward Proxy)
사용자가 google.com 에 연결하려고 하면 사용자 PC가 연결하는게 아니라 포워드 프록시 서버가 요청을 받아서 google.com에 연결하여 그 결과를 클라이언튼에 전달해줍니다.
- 대게 캐싱 기능이 있으므로 자주 사용되는 컨텐츠라면 성능 향상 가능
- 정해진 사이트만 연결하도록 설정 가능
- 역추적 방지 (IP 주소를 역추적해도 프록시 서버만 보이기 때문)
리버스 프록시 (Reverse Proxy)
회사가 exapme.com이라는 고객용 웹 서비스를 만들었을 때 리버스 프록시로 웹 서버를 설정하는 경우, example.com 로 웹 서비스에 데이터를 요청하면 reverse proxy가 요청을 받아서 내부 서버에 데이터를 받은 후 사용자에게 다시 전달하게 됩니다.
장점
-
보안
기업의 네트워크 환경은 비무장지대(DMZ; Demilitarized Zone)라고 하는 내부 네트워크와 외부 네트워크 사이에 위치하는 구간이 존재한다. 보통의 웹 서버(WAS)는 DBMS까지 연결되어 있는 경우가 많기 때문에 서비스가 털리면 DBMS와 관련 서버까지 모두 같이 털리는 심각한 보안 문제가 발생할 수 있다.
이 때문에 DMS 존에 웹 서버를 두고 리버스 프록시로 설정하여 WAS는 내부망에 위치시킨다. 웹 서버가 해킹당하더라도 2차 피해를 최소화 할 수 있다.
본래의 서버 IP 주소를 노출시킬 필요가 없다. DDos 공격 막는데 유용하지만 리버스 프록시 자체가 타겟이 되기도 한다.
-
속도와 안정성
리버스 프록시를 구성하면 앞에 캐시 server / SSL 하드웨어 가속기를 연동하는 등의 성능 향상을 하기 용이하다. CDN도 리버스 프록시로 동작하는 캐시 서버이다. CDN을 연동한다면 DDOS 공격을 효과적으로 방어하기도 하고, 공격당하더라도 CDN 서버에만 피해가 가기 때문에 안정적인 운영이 가능하다.
SSL 암호화에 좋다. 서버가 클라이언트들과 통신할 때 암호화, 복호화 비용이 많이 드는데 리버스 프록시가 이를 암/복호화 진행해주면 서버의 부담(비용)이 줄어든다. -
신회성 증대
리버스 프록시를 클러스터 구성을 할 경우 가용성을 높일 수 있다. 사용자가 증가하는 상황에 맞게 WAS를 유연하게 늘릴 수 있는 장점이 있다. 리버스 프록시 앞에 L4, Load Balancer를 붙이면 상황에 맞는 분배 알고리즘을 적용해 서비스 신뢰성을 높일 수 있다. 특정 서버가 과부화 되지 않도록 로드 밸런싱 가능.
정리
둘의 차이
위에서도 정리했지만,
- 포워드 프록시: 클라이언트 앞에 놓여져 있다. 클라이언트와 직접 통신하는 서버가 없다.
- 리버스 프록시: 웹 서버 앞에 놓여져 있다. 서버와 직접 통신하는 클라이언트가 없다.
로 정리할 수 있다.
장단점
- 포워드 프록시
- 사용자가 접근하는 컨텐츠 / 사이트를 제한할 수 있다.
- IP 역추적을 방지할 수 있다.
- 리버스 프록시
- 서버가 직접적으로 노출(IP 등)되지 않아 DDos로 부터 안전 (단, 리버스 프록시가 공격 타겟이 될 수 있다.)
- 로드밸런싱으로 서버의 과부하를 막을 수 있다.
- 공통적인 처리에 대해서 서버의 부담을 덜어줄 수 있다. SSL 암호화 / 로깅 등을 리버스 프록시가 해줌으로서
- 캐싱을 통해 성능 향상을 기대할 수 있따. CDN 등도 리버스 프록시이다.
댓글남기기