Profile picture

[Linux] 프록시(Proxy)에 대해 이해하기

JaehyoJJAng2024년 07월 26일

프록시 서버

프록시 서버는 "클라이언트 요청을 다른 서버로 전달하고 응답 결과를 클라이언트에게 반환하는 중계 역할" 을 수행한다.

즉, 클라이언트와 서버 간에 중계기로써의 역할을 한다고 보면 된다.


특징

그렇다면 중계 역할을 함으로써 얻을 수 있는 이점은 무엇일까?

  • 캐싱 기능
    • 자주 요청되는 웹 페이지나 데이터를 캐시에 저장하여 같은 요청이 들어왔을 때 더 빠르게 응답이 가능하다.
    • 이를 통해 네트워크 대역폭을 절약하고 응답 시간을 단축시킬 수 있다.
  • 보안 강화
    • 클라이언트의 IP 주소를 보호하여 익명성을 제공하고, 악성 사이트에 대한 접근 차단이 가능하다.
  • 컨텐츠 필터링
    • 특정 웹 사이트나 컨텐츠에 대한 접근 차단이 가능하다.
  • 로깅 및 모니터링
    • 사용자의 웹 활동을 감시하고 기록하여 모니터링할 수 있다.
    • 이를 통해 네트워크 사용 패턴 분석이나 보안 위협을 감지하여 사전에 해결할 수도 있다.

하지만, 프록시 서버를 쓴다고 해서 좋은 점만 있는 것은 아니다.

사내망(내부망)의 모든 트래픽이 프록시 서버를 거치게 된다면, 프록시 서버의 성능에 따라 전체 네트워크 저하가 발생할 수도 있으니, 도입 전 충분한 사전 조사가 필요하다.


프록시 서버 종류

프록시 서버라고 하면 Forward ProxyReverse Proxy가 대표적으로 구분되는데,

이러한 유형 말고도 다른 유형들이 다양하게 존재한다.


웹 프록시

image

  • 주로 HTTP, HTTPS 트래픽을 처리하는 프록시 서버이다.
  • 클라이언트의 웹 요청을 받아 원격 서버에 전달하고, 응답을 클라이언트에서 반환한다.
  • 웹 사이트 접근 시, 보안과 익명성을 제공하고 특정 웹 사이트를 차단하거나 허용하는데 사용된다.

캐싱 프록시

image

  • 클라이언트 요청에 대한 응답 데이터를 캐시에 저장하여 이전에 들어왔던 요청과 동일한 요청이 들어오면 캐시에 저장된 데이터를 즉각 제공한다.
  • 이는 네트워크 대역폭을 절약하고 응답 시간을 단축할 수 있다.
  • 주로 자주 요청되는 데이터를 효율적으로 제공하기 위해 사용된다.

포워드(정방향) 프록시

image

  • 클라이언트와 인터넷 사이에 위치하여 클라이언트의 요청을 대신 처리하고, 원격 서버의 응답을 클라이언트에게 전달한다.
  • 주로 내부 네트워크 사용자가 외부 인터넷에 접근할 때 사용되며, 사용자의 신원을 숨기고 익명성을 보장한다.

리버스(역방향) 프록시

image

  • 보통 원격 서버 앞단에 위치하여 외부 클라이언트의 요청을 받아 적절한 내부 서버로 전달한다.
  • 서버를 외부 트래픽으로부터 보호하여 보안을 강화할 수 있다.
  • 앞단에 위치하고, 외부 트래픽으로부터 보호한다는 것은 프록시 서버가 실제 내부 네트워크에 위치한 서버와는 다른 네트워크 환경에 위치함을 의미한다.
  • 즉, 리버스 프록시 서버의 경우, 내부망과 외부망 경계(DMZ)에 위치하는 것이 정석이다.

Loading script...