포워드 프록시(Forward Proxy)와 리버스 프록시(Reverse Proxy)
아파치 웹서버에는 mod_proxy라는 모듈에서 forward proxy와 reverser proxy 두 가지 기능을 제공하며, nginx는 필요한 기능만 제공하는 고성능 웹 서버에 맞게 reverse proxy 기능만 제공한다.
Forward Proxy :
클라이언트가 특정 사이트에 접근할 때 직접 연결하지 않고 포워드 프록시 서버가 요청을 받아 해당 사이트에 연결한 후 그 결과를 클라이언트에게 전달한다.
포워드 프록시는 캐싱기능이 있어, 자주 사용되는 컨텐츠에서 성능 향상이 된다. 또한 정해진 사이트만 연결하게 제한할 수 있어 보안에 유리하다.
Reverse Proxy :
리버스 프록시로 웹 서버를 설정할 경우 사용자가 특정 사이트에 접속하면 리버스 프록시에서 이 요청을 받아 내부 서버(WAS)에 요청한 후 데이터를 받아 클라이언트에게 전달한다.
대부분의 WAS는 웹 서버 기능을 제공하므로 리버스 프록시 서버가 없이 WAS에서 직접 서비스를 제공해도 되지만, 웹 서버를 따로 두어 리버스 프록시를 구성하는 이유는 다음과 같다.
- 보안
기업의 네트워크 환경은 비무장지대(DMZ; Demilitarized Zone)이라고 하는 내부 네트워크와 외부 네트워크 사이에 위치하는 비무장지대 구간이 존재한다.
위 그림과 같이 DMZ내에 외부에 서비스를 제공하는 서버(메일서버, 웹서버, DNS서버)를 배치하고 네트워크는 1차, 2차 방화벽으로 보호한다.
WAS도 DMZ에 놓고 서비스를 해도 되지만, WAS는 보통 DBMS와 연결되어 있다. 그렇기에 DMZ존에 웹 서버를 두고 리버스 프록시를 구성하여 WAS는 내부망에 위치시킨다.
리버스 프록시로 동작하는 웹서버만 내부 WAS와 연결하도록 설정하므로 웹 서버가 해킹당해도 2차 방화벽이 있기 때문에 보안에 유리하다.
- 속도와 안정성
리버스 프록시를 구성하면 앞에 캐시 서버를 붙이거나 SSL하드웨어 가속기를 연동하는 등 아키텍처 측면에서 성능 향상에 용이하다.
- 신뢰성 증대
리버스 프록시를 클러스터로 구성하면 가용성을 높일 수 있고 사용자가 증가하는 상황에 맞게 웹 서버나 WAS를 유연하게 늘릴 수 있다.
리버스 프록시 앞에 L4나 로드 밸런서를 붙이면 라운드로빈(RR), Least Connection 등 상황에 맞는 분배 알고리즘을 적용하여 서비스 신뢰성을 높일 수 있다.
출처 : https://www.lesstif.com/system-admin/forward-proxy-reverse-proxy-21430345.html
'공부 > 네트워크' 카테고리의 다른 글
[네트워크] SSL, HTTPS (0) | 2022.05.12 |
---|---|
[네트워크] 패킷의 전달과 라우팅 (0) | 2022.04.07 |
[네트워크] SNMP (0) | 2022.02.25 |
[네트워크] HTTPS, Key (0) | 2022.02.15 |
[네트워크] MDC/MAC (0) | 2022.02.15 |