본문 바로가기

Backend/Network

[Network] Proxy

웹 프락시 서버는 중개자이다. 프락시는 클라이언트와 서버 사이에 위치하여 그들 사이의 HTTP 메시지를 정리하는 중개인처럼 동작한다. 

 

왜 프락시를 사용하는가?

프락시 서버는 보안을 개선하고, 성능을 높여주며 비용을 절약한다. 

보안

어린이 필터

프락시는 교육 콘텐츠에 제한 없는 접근을 허용하면서 어린이에게 부적절한 사이트의 접근은 강제로 거부할 수 있다. 

 

문서 접근 제어자 

각기 다른 조직에서 관리되는 다양한 종류의 수많은 웹 서버들에 대한 접근 제어를 수시로 갱신할 필요 없이, 중앙 프락시 서버에서 접근 제어를 설정할 수 있다. 

 

보안 방화벽

프락시 서버는 네트워크의 한 지점에서 응용 레벨 프로토콜의 흐름을 통제한다. 바이러스를 제거하는 웹이나 이메일 프락시가 사용할 수 있는, 트랙픽을 세심히 살펴볼 수 있는 후크를 제공한다.

 

익명화 프락시(Anonymizer)

익명화 프락시는 HTTP 메시지에서 신원을 식별할 수 있는 특성들(클라이언트 IP 주소, From 헤더, Referer 헤더, 쿠키, URI 세션 아이디)을 적극적으로 제거함으로써 개인 정보 보호와 익명성 보장에 기여한다.

성능

웹 캐시

프락시 캐시는 인기 있는 문서의 로컬 사본을 관리하고 해당 문서에 대한 요청이 오면 빠르게 제공하여, 느리고 비싼 인터넷 커뮤니케이션을 줄인다. 

 

대리 프락시(Surrogate)

대리 혹은 리버스 프락시는 진짜 웹 서버 요청을 받지만 웹 서버와는 달리 요청 받은 콘텐츠의 위치를 찾아내기 위해 다른 서버와 커뮤니케이션을 시작한다. 또한 콘텐츠 라우팅 기능과 결합되어 주문형 복제 컨텐츠의 분산 네트워크를 만들기 위해 사용될 수 있다. 

 

콘텐츠 라우터 

프락시 서버는 인터넷 트래픽 조건과 콘텐츠의 종류에 따라 요청을 특정 웹 서버로 유도하는 콘텐츠 라우터로 동작할 수 있다. 가령 사용자(혹은 콘텐츠 제공자)가 더 높은 성능을 위해 돈을 지불했다면 콘텐츠 라우터는 요청에 가까운 복제 캐시로 전달할 수 있을 것이다. 

 

트랜스코더

프락시 서버는 콘텐츠를 클라이언트에게 전달하기 전에 본문 포맷을 수정할 수 있다. 이와 같이 데이터의 표현 방식을 자연스럽게 변환하는 것을 트랜스코딩이라고 한다. 여기에는 각 언어별 번역과정을 수행할 수 있다.


프락시는 어디에 있는가

어떻게 사용할지에 따라서 프락시는 어디에든 배치할 수 있다.

 

출구(Egress) 프락시

클라이언트의 내부 네트워크에서 외부로 나가는 트래픽을 관리하는 프락시이다. 초등학교에서는 조숙한 학생들이 부적절한 컨텐츠를 브라우징하는  것을 막기 위해 필터링 출구 프락시를 사용할 수 있다. 

 

접근(입구) 프락시

외부에서 내부로 들어오는 트래픽을 관리하는 프락시이다. ISP 접근 지점에 주로 위치한다. ISP는 사용자들의 다운로드 속도를 개선하고 인터넷 대역폭 비용을 줄이기 위해 캐시 프락시를 사용해 많이 찾는 문서들의 사본을 저장한다.

 

대리 프락시

대리 프락시는 네트워크의 가장 끝에 있는 웹 서버들의 바로 앞에 위치하여 웹 서버로 향하는 모든 요청을 처리하고 필요할 때만 웹 서버에게 자원을 요청할 수 있다. 또한 웹 서버에 보안 기능을 추가하거나 빠른 웹 서버 캐시를 느린 웹 서버의 앞에 놓음으로써 성능을 개선할 수도 있다. 대리 프락시는 일반적으로 웹 서버의 이름과 IP 주소로 스스로를 가장하기 때문에, 모든 요청은 서버가 아닌 이 프락시로 가게 된다. 

 

네트워크 교환 프락시  

캐시를 이용해 인터넷 교차로의 혼잡을 완하하고 트래픽 흐름을 감시하기 위해 충분한 처리 능력을 갖춘 프락시가 네트워크 사이의 인터넷 피어링 교환 지점들에 놓일 수 있다. 

'Backend > Network' 카테고리의 다른 글

What is HTTP?  (0) 2023.10.17