[Network] Forward Proxy / Reverse Proxy

한결·2023년 10월 23일
0

Network

목록 보기
2/3

질문

  • 프록시란?
  • 종류 및 역할, 특징 설명

프록시(Proxy)란?

프록시(Proxy)는 "대리"의 의미로, 인터넷과 관련해서 쓰이는 경우, 특히 내부 네트워크에서 인터넷 접속을 할 때에, 빠른 액세스나 안전한 통신등을 확보하기 위한 중계서버를 "프록시 서버"라고 일컫는다. 클라이언트와 Web서버의 중간에 위치하고 있어, 대신 통신을 받아 주는 것이 프록시 서버이다.

종류

  1. 포워드 프록시
  2. 리버스 프록시

포워드 프록시

  • 포워드 프록시 없는 경우

  • 포워드 프록시 있는 경우

사용자가 google.com 에 연결하려고 하면 사용자 PC 가 직접 연결하는게 아니라 포워드 프록시 서버가 요청을 받아서 google.com 에 연결하여 그 결과를 클라이언트에 전달(forward) 해줌

  • 캐싱

    • 자주 요청되는 특정 리소스(페이지에 포함된 이미지 등 정적 리소스)를 캐싱하여 빠르게 응답 가능 -> 병목현상 방지
  • 보안 (URL 필터링)
    • 외부 엑세스는 포워트 프록시를 경유 -> 여기서 엑세스 필터링 가능 -> 특정 서버의 접근 차단 - 보안이 중요한 기업환경 등에서 많이 사용

리버스 프록시

인터넷 사용자의 공격으로부터 내부 서버를 보호하는 역할 수행한다. 클라이언트가 내부 서버(보통 WAS)로 요청하는 모든 요청은 리버스 프록시를 통해 처리가 된다.
리버스 프록시는 내부서버로 진입하는 엑세스 포인트이다. 리버스 프록시는 매핑 정보(URL에 따라 리퀘스트를 받을 Web 서버가 바뀌도록 설정)가 존재하고, 해당 정보를 바탕으로 리다이렉트 하는 방식으로 처리된다.

  • 클라이언트 입장에선 프록시 서버가 웹 서버와 같은 동작을 하므로 웹서버가 여러 개 존재하는 것을 은폐할 수 있음

  • 속도와 안정성
    캐시 서버를 붙이거나 SSL 하드웨어 가속기 연동하는 등 아키텍처 측면에서 성능향상 하기가 용이해짐
    • 캐싱
      • 포워드 프록시와 동일하게 동일한 데이터를 얻을 떄에 프록시 서버가 저장했던 내용을 돌려줌
    • 부담 분산
      • 설정으로 정적 콘텐츠와 동적 콘텐츠의 보는 곳을 나눔으로써 메모리 사용량의 효율화를 할 수 있다. 로드 밸런스와 병용하면 더욱 부담을 분산할 수 있다.
  • 보안
    • 통신시 프록시 서버에 집약되므로 프록시 서버 내에 세큐리티 대책, 바이러스 대책을 구현하여 Web 서버로의 부정 액세스, 사용등을 방지
    • WAS는 보통 내부의 DBMS 서버와 연결되어있음
      -> 만약 WAS가 최전방에 있으면 WAS가 털릴 경우 DBMS와 관련 서버까지 모두 털림
      -> 따라서 DMZ존에 웹서버를 두고 리버스 프락시로 설정
      -> WAS는 내부망에 위치
      -> 리버스 프락시로 동작하는 웹서버만 내부 WAS와 연결하도록 설정
  • 신뢰성 증대
    • 리버스 프락시를 클러스터로 구성해 높으면 가용성을 높일 수 있음
      -> 사용자가 증가하는 상황에 맞게 Web Server나 WAS를 유연하게 늘릴 수 있다
    • 리버스 프록시 앞에 L4나 Load Balancer를 붙여 Round Robin(RR), Least connection 등 상황에 맞는 분배 알고리즘을 적용

차이

Forward Proxy 서버는 클라이언트 앞에 놓여져 있는 반면 Reverse Proxy 서버는 웹 서버 앞에 놓여 있다는 차이점이 있다.

Forward Proxy는 내부망에서 외부망으로 접근할 때 사용되고 Reverse Proxy는 외부망에서 내부망으로 접근할 때 사용된다.

0개의 댓글