[네트워크] 프록시

예리에르·2021년 5월 26일
0

네트워크

목록 보기
2/2

프록시

  • 클라이언트가 자신(Proxy)를 통해서 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해주는 컴퓨터 시스템이나 응용 프로그램
  • Client와 Server 사이에 존재하며 대리로 통신을 수행한다.


프록시의 장점

  • 프록시 서버 중 일부는 프록시 서버에 요청된 내용들을 캐시로 저장함.
  • 캐시 안에 있는 정보를 요구하는 요청이 들어오면 원격 서버에 접속하지 않아도 됨.
  • 전송시간 절약 + 불필요한 외부 연결 X + 외부와의 트래픽 감소 → 네트워크 병목 현상을 방지

프록시 왜 사용해?

  • 익명으로 컴퓨터를 유지 (보안)
  • 캐시를 이용하여 접근을 빠르게
  • 바이러스 전파, 악성 루머 전파, 다른 정보들을 빼내는 목적
  • 역으로 IP 추적을 당하지 않음
  • 지역 제한을 우회

프록시 종류

  1. Forward Proxy (Front)

  • 사람들이 흔히 사용하는 프록시

  • client가 웹사이트에 'A'에 접속을 요청할 때 직접 연결을 시도하지 않고 Forward Proxy서버가 대신 인터넷 세계를 거쳐서 A사이트에 보내고 그에 대한 응답을 client에 전달

  • 서버에게 클라이언트가 누구인지 감추는 역할을 해주죠.

    서버가 응답받은 IP는 포워드 프록시 서버의 IP이기 때문에 클라이언트가 누군지 알 수 없습니다.

  • 캐시 저장 기능이 있어 자주 접속하는 사이트라면 더욱 빠른 속도로 이용할 수 있다. 웹 사용 환경을 제한 할 수 있어서 기업 환경에서 많이 사용한다.

  1. Reverse Proxy (Back)

  • 사용자가 보낸 패킷이 인터넷 세계를 거쳐서 Reverse Proxy에 도착한다. 요청을 받은 문지기와 같은 Reverse Proxy는 내부 서버와 통신해서 데이터를 전달하고 응답 받으면 client에게 전송

  • 리버스 프록시는 서버가 누구인지 감추는 역할을 해줍니다.

    클라이언트는 리버스 프록시 서버를 먼저 호출하게 되기 때문에 실제 서버의 IP를 알 수 없습니다.

  • 내부 서버의 보안성을 높일 수 있다.

  • 서버단에 다수의 웹서버를 두고, 매번 요청이 발생할 때마다 어떤 서버에게 이 요청을 처리하도록 지시할지 결정하는 역할을 수행한다.

    예를 들어, FATC.CLUB에는 3개의 서버가 존재한다. (1) 블로그를 담당하는 fatc.club, (2) 블로그 내용을 구현하여 보여주는 etc.fatc.club 그리고 (3) IP 제공 서비스를 수행하는 ip.fatc.club 그리고 모든 요청은 1개의 Proxy 서버를 통해 들어온다. 그러면 어떻게 (1)~(3)을 구분해야 할까. 일반적으로 도메인을 보고 어떤 서버로 해당 요청을 밀어낼지 결정한다.

    이처럼 다수의 서버를 Proxy 서버 하단부에 위치시켜 두고,  특정 조건(위에서는 도메인)에 맞는 요청을 적절한 서버에게 전달해주는 역할을 수행하는 것이 Reverse Proxy이다.

    오해하지 말자. 하나의 Proxy 서버는 Reverse와 Forward를 모두 수행 할 수 있다. 다만 하나로 모든 것을 처리하기 힘들때 이를 둘로 나눈다.

  • Reverse Proxy를 이용하게 되면, 하나의 프록시로 다수의 서버(동일한 서비스이든지, 다른 서비스이든지 상관없음) 요청을 처리할 수 있다. 따라서 몇가지 잇점이 생기는데, 그중 라이트 유저에게 가장 큰 장점은 1개의 IP로 다수의 웹 서비스를 수행할 수 있다는 점이다. 이러한 프록시 기능은 대다수의 HTTP 프레임워크에서 제공한다. (Apache, NginX등)

참고)
https://hardner.tistory.com/34#recentEntries
https://jcdgods.tistory.com/322

profile
궁금한 프론트엔드 개발자의 개발일기😈 ✍️

0개의 댓글