CS

[CS] 프록시(Proxy)란

mark340 2023. 2. 23. 16:32

프록시(Proxy)란


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

 

 

프록시(Proxy)의 사용 목적


1. 개인정보 보호

  • 프록시 서버 X - 사용자가 네이버에 들어갈 때 IP 주소가 전달
  • 프록시 서버 O - 프록시 서버의 IP를 전달. 즉, 사용자의 IP를 보호할 수 있다.

2. 속도 향상 - 캐시 사용

  • 사용자가 특정 페이지를 요청할 때, 프록시 서버를 통해 웹 페이지를 가져온다.
  • 가져온 웹 페이지를 프록시 서버의 DB에 저장하고 사용자에게 전달.
  • 같은 프록시 서버로 동일한 페이지 요청시 저장된 캐시를 이용해 바로 웹 페이지 전달.
  • 외부 네트워크를 통해 요청 횟수가 줄어들어 대역폭을 줄이는 효과 및 속도 향상 효과

3. 로그 기록 관리

  • 프록시 서버에는 사용자 기록이 남는다
  • 사용자들의 정보를 제어
  • 방문할 수 있는 웹 사이트를 제한

4. 방화벽

  • 외부 접근으로부터 보호하기 위해 위와 같이 보안상으로 프록시 서버를 구성

5. 접속 우회

  • 프록시 서버는 여러대 연결 시킬 수 있다.
  • 사용자의  IP를 숨기기 위해 여러 프록시 서버를 경유하는 기술을 Proxy Chaining 이라고 한다.

 

 

 

프록시(Proxy)의 종류


ㄱ. 포워드 프록시(Forward Proxy)

  • Client와 Server 사이에 위치하여 요청을 중계하며, 요청과 응답은 Proxy Server를 거친다.
  • 클라이언트 대신 프록시 서버가 목적 서버에 통신해주는 구성.
  • 클라이언트를 감추는 효과가 있다.

 

 

ㄴ. 리버스 프록시(Reverse Proxy)

  • 포워드 프록시와 다르게 Server들이 주로 내부망으로 구성되며 프록시에게만 연결을 허용
  • 즉, 서비스를 위한 보안 채널을 구축
  • Client가 Server에 직접 접근이 불가능하므로, Reverse Proxy에서 요청을 적극적으로 중계하는 Load Balancing의 역할을 수행하기도 한다.
  • 서버를 감추는 효과가 있다.