ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Proxy 와 Reverse Proxy
    공부방 2024. 6. 18. 23:49

    Proxy Server

    프록시 서버(영어: proxy server, 문화어: 대리봉사기)는 클라이언트가 자신을 통해서 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해 주는 컴퓨터 시스템이나 응용 프로그램을 가리킨다. - wikipedia

     

    Proxy 는 영어로는 '대리' 라는 뜻으로 말 그대로 어떤 행위를 대신 해준다는 의미이다. 이런 Proxy 서버의 역할은 서버와 서버 사이에서 중개인 역할을 한다고 생각하면 된다. 이때 프록시 서버의 위치에따라 (Forward)Proxy 와 Reverse Proxy 로 구분한다.

     

     

    출처 Research AIMultiple

     

    클라이언트와 인터넷 사이에 있는 프록시를 Forward Proxy, 인터넷과 서버 사이에 있는 Proxy를 Reverse Proxy 라고 한다.

     

    Forward Proxy

    우리가 흔히 그냥 Proxy라 부르는것은 이 Forward Proxy 이다. 클라이언트와 인터넷 사이에 위치한다. 

    이런 Forward Proxy 사용에 따른 장점은 다음과 같다.

    캐싱

    클라이언트가 어떤 요청을 서버에 요청한다고 생각해보자. 날씨 정보를 100명이 요청한다고 했을때 이 100번의 요청을 모두 날씨 서버에서 가져올 수도 있겠지만 굉장히 비효율적이다.

    이 사이에 프록시 서버를 두고 모두 이 프록시를 통해 날씨 서버로 요청이 가고있을경우 이 프록시 서버에서 이 요청에 대한 응답을 캐싱(임시보관) 해두고 있다면 처음 요청 제외하고 나머지 99번의 요청은 굳이 날씨 서버까지 가지 않고 이 프록시 서버에서 바로 응답할 수 있다. 

    이는 날씨 서버의 부하를 줄이고 사용자 입장에서 응답도 훨씬 빠르게 오는 효과를 줄 수 있다. 

    익명성

    모든 클라이언트들의 요청이 프록시 서버를 통하게 된다면 이 요청을 받는 서버의 입장에서는 모든 요청이 이 프록시 서버로 부터 오는것처럼 보인다. 이는 클라이언트 IP, 디바이스 정보 등 원래 클라이언트 정보를 최소화하는 효과가 있다. 이 덕분에 외부 서버의 과도한 클라이언트 정보 수집을 예방할 수 있다. 

    접근 제한

    정부 기관, 회사 등 보안이 중요한 곳이 있을 수 있다. 만약 회사에서 누군가 인터넷으로 정보를 빼낸다거나 접근하면 위험한 사이트에 접속하려 할 수 있다. 하지만 이 모든 외부 접근이 프록시 서버를 통해 나가게 된다면 이 프록시 서버에서 보안 처리를 할 수 있다. 

     

    Reverse Proxy

    다음으로는 Reverse Proxy 이다. 이는 인터넷과 서버 사이에 위치한 Proxy 를 뜻한다. 이 Reverse Proxy도 개념적으로 같은 Proxy 이기 때문에 Forward Proxy와 비슷한 이점들을 가진다. 

    캐싱

    Reverse Proxy도 마찬가지이다. 아니 사실 이런 프록시 서버 뿐 아니라 다른 어떤것에서도 이 Proxy라는 개념에서 캐싱이라는 이점은 항상 나오게 된다. 결국 응답에 대한 값을 중간 교역 지점에 모아둔다면 더 빠른 응답이 가능하다는 의미이다.

    보안

    리버스 프록시는 외부에 서버의 진짜 주소를 노출 시키지 않을 수 있다. 외부에 공개되지 않는 내부 네트워크에 실제 서버들을 위치하고 DMZ 에 Reverse Proxy 를 위치시키면 클라이언트들은 이 프록시 서버로 요청을 보내고 프록시 서버가 실제 내부 서버들에게 요청을 하는 형식이다. 

    부하분산

    요청들을 앞에서 모아 받는다는 개념을 생각해보면 자연스럽게 로드밸런싱이 생각날 수 있다. 프록시 서버에서 이런 요청들을 받아 적절하게 부하를 분산하여 서버에 요청을 전달할 수 있다.

     

    출처

    https://youtu.be/YxwYhenZ3BE?si=GWyXbYiuJAHhL2eG

    https://inpa.tistory.com/entry/NETWORK-%F0%9F%93%A1-Reverse-Proxy-Forward-Proxy-%EC%A0%95%EC%9D%98-%EC%B0%A8%EC%9D%B4-%EC%A0%95%EB%A6%AC

     

    🌐 Reverse Proxy / Forward Proxy 정의 & 차이 정리

    프록시(Proxy) 란? 프록시 서버는 클라이언트가 자신을 통해서 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해 주는 컴퓨터 시스템이나 응용 프로그램을 가리킨다. 프록시(Proxy)란 '대리'

    inpa.tistory.com

     

    '공부방' 카테고리의 다른 글

    RabbitMQ 와 Kafka  (0) 2024.07.12
    JPA 1대다 fetch join 주의사항  (0) 2024.04.02
    ElasticSearch 정리  (0) 2023.12.25
    파이프라인 프로토콜  (1) 2023.11.22
    HTTPS 통신 과정  (0) 2023.11.15
Designed by Tistory.