네트워크 : 프록시 서버

J.Noma·2022년 2월 13일
0

컴퓨터 공학

목록 보기
15/18
post-custom-banner

Reference


🌀 프록시 서버란?

🔸 정의

프록시 서버는 client와 server 사이에서 통신을 중계하는 역할을 하는 서버를 말한다

🔸 프록시의 역할

클라이언트 대신 서버에게 요청을 받아 응답

🔘 캐싱

  • 클라이언트가 서버로 어떤 자원에 대한 요청을 보낼 때 먼저 웹 캐싱 프록시로 간다. 프록시에서 캐싱되어 있고 수정이 안된 자원이라면 서버와의 통신없이 프록시가 바로 제공해줄 수 있다
  • 이로 인해 네트워크 비용이 감소하고 응답속도가 향상된다

🔘 필터링

  • 예로, 어린이 유저가 연령제한 컨텐츠에 접속하려 한다던지 권한이 없는 유저가 접속할 때 요청을 확인하여 제한할 수 있다
  • 보안성을 향상시키고, 요청/응답들을 로깅할 수 있다

🔘 트랜스코딩

  • 프록시 서버를 거치는 데이터를 조작할 수 있다. 해킹같은 조작이 아니라, 중간에서 데이터를 압축하거나 언어를 변환하는 등의 조작을 말한다
  • 압축으로 네트워크 비용을 감소시킬 수 있고, 원래는 서버가 전부 책임지던 역할들을 나눌 수 있다

🔘 익명화

  • 요청 메시지에서 클라이언트에 대한 정보(식별 정보 헤더)를 제거하여 서버로 보낸다
  • 보안성 향상을 목적으로 한다

🌀 프록시의 종류

프록시는 클라이언트와 서버를 랩핑하는

🔸 Forward 프록시

클라이언트 쪽에 위치하여 클라이언트 대신 요청을 보내주는 프록시.

🔸 Reverse 프록시

서버 쪽에 위치하여 서버의 응답을 대신 클라이언트에게 전달하는 프록시. 클라이언트는 실제 웹서버가 아닌 Reverse 프록시 서버로 요청을 보내게 된다.

🔸 로드 밸런싱

Reverse 프록시에는 로드밸런싱 기능이 있습니다. 동일한 역할을 하는 3대의 서버가 있습니다. 이 때 1번 서버로만 요청이 100개가 들어왔다면 프록시가 중재하여 요청을 처리할 수 있는 다른 서버에게 로드를 분산시킵니다


🌀 활용예시

프록시서버를 사용하면 무중단 배포가 가능합니다. 예로, 기존 서버(PORT: 8081)가 돌아가고 있는 상황에서 새로운 서버(PORT: 8082)를 배포해야 하는 상황이라면, 중간에 프록시 서버를 두어 "PORT: 80" 요청을 전부 8081로 보내다가 8082가 준비되면 스위칭만 해주어 유저가 체감하기 어려운 정도의 중단만으로 배포가 가능합니다

profile
노션으로 이사갑니다 https://tungsten-run-778.notion.site/Study-Archive-98e51c3793684d428070695d5722d1fe
post-custom-banner

0개의 댓글