역방향 프록시란? | 프록시 서버 설명

역방향 프록시는 웹 서버를 공격으로부터 보호하고 성능 및 안정성 이점을 제공할 수 있습니다. 정방향 및 역방향 프록시에 대해 자세히 알아보세요.

학습 목표

이 글을 읽은 후에 다음을 할 수 있습니다:

  • 프록시 서버의 정의
  • 정방향 프록시와 역방향 프록시의 차이점 설명
  • 역방향 프록시 사용의 이점 개요

글 링크 복사

역방향 프록시란?

역방향 프록시는 웹 서버 앞에 위치하여 클라이언트(예:웹 브라우저) 요청을 해당 웹 서버에 전달합니다.역방향 프록시는 일반적으로 보안, 성능, 안정성을 향상하기 위해 구현됩니다.역방향 프록시의 작동 방식과 제공할 수 있는 이점을 더 잘 이해하기 위해 먼저 프록시 서버가 무엇인지 정의해 보겠습니다.

프록시 서버란?

프록시, 프록시 서버, 웹 프록시라고도 하는 정방향 프록시는 클라이언트 시스템 그룹 앞에 위치하는 서버입니다. 이러한 컴퓨터가 인터넷의 사이트 및 서비스에 요청하면 프록시 서버가 이러한 요청을 가로채고 중개자처럼 해당 클라이언트를 대신하여 웹 서버와 통신합니다.

예를 들어 일반적인 정방향 프록시 통신과 관련된 컴퓨터 3대의 이름을 지정해 보겠습니다.

  • A: 이것은 사용자의 가정용 컴퓨터입니다
  • B: 이것은 정방향 프록시 서버입니다
  • C: 이것은 웹 사이트의 원본 서버(웹 사이트 데이터가 저장되는 곳)입니다
정방향 프록시 흐름: 사용자의 장치(A)에서 정방향 프록시(B), 인터넷, 원본 서버(C)로 전달하는 트래픽 흐름

표준 인터넷 통신에서는, 컴퓨터 A가 컴퓨터 C에 직접 연결하고 클라이언트는 원본 서버에 요청을 보내며 원본 서버가 클라이언트에 응답합니다. 정방향 프록시가 설정되면 A가 대신 B에 요청을 보내고 B가 요청을 C로 전달합니다. 그런 다음 C가 B에게 응답을 보내고 B가 응답을 A에게 다시 전달합니다.

인터넷 활동에 이 추가 중개인을 추가하는 이유는? 정방향 프록시를 사용하려는 이유가 몇 가지 있습니다.

  • 주 당국 또는 기관의 검색 제한을 피하기 위해 - 일부 정부, 학교, 기타 조직에서는 방화벽을 사용하여 사용자에게 제한된 버전의 인터넷에 대한 액세스 권한을 부여합니다.정방향 프록시를 사용하면 사용자가 방문하는 사이트에 직접 연결하지 않고 프록시에 연결할 수 있으므로 이러한 제한을 피할 수 있습니다.
  • 특정 콘텐츠에 대한 액세스를 차단하려면 - 반대로 사용자 그룹이 특정 사이트에 액세스하는 것을 차단하도록 프록시를 설정할 수도 있습니다.예를 들어 학교 네트워크에서는 콘텐츠 필터링 규칙을 활성화하는 프록시를 통해 웹에 연결하도록 구성되어 Facebook 및 기타 소셜 미디어 사이트의 응답 전달을 거부할 수 있습니다.
  • 온라인에서 자신의 신원을 보호하기 위해 - 어떤 경우에는 일반 인터넷 사용자가 단순히 온라인에서 익명성을 원하지만, 다른 경우에는 정부가 반체제 인사에게 심각한 처벌을 가할 수 있는 곳에 인터넷 사용자가 살 수도 있습니다.웹 포럼이나 소셜 미디어에서 정부를 비판하면 이러한 사용자에게 벌금이나 징역형이 선고될 수 있습니다.이러한 반체제 인사 중 한 명이 정방향 프록시를 사용하여 정치적으로 민감한 댓글을 게시하는 웹 사이트에 연결하는 경우, 댓글 게시에 사용된 IP 주소로 반체제 인사를 추적하는 일이 더 어려워집니다.프록시 서버의 IP 주소만 표시됩니다.

역방향 프록시는 어떻게 다를까요?

역방향 프록시는 하나 이상의 웹 서버 앞에 위치하여 클라이언트의 요청을 가로채는 서버입니다. 이것은 프록시가 클라이언트 앞에 위치하는 정방향 프록시와 다릅니다. 역방향 프록시를 사용하면 클라이언트가 웹 사이트의 원본 서버에 요청을 보낼 때 역방향 프록시 서버가 네트워크 에지에서 해당 요청을 가로챕니다. 그런 다음 역방향 프록시 서버가 원본 서버에 요청을 보내고 응답을 받습니다.

정방향 프록시와 역방향 프록시의 차이는 미묘하지만, 중요합니다. 요약하면 정방향 프록시는 클라이언트 앞에 위치하며 원본 서버가 해당 특정 클라이언트와 직접 통신하지 못하도록 하는 것입니다. 반면에 역방향 프록시는 원본 서버 앞에 위치하며 어떤 클라이언트도 원본 서버와 직접 통신하지 못 하도록 합니다.

다시 한 번 관련된 컴퓨터의 이름을 지정하여 설명하겠습니다.

  • D: 사용자의 가정용 컴퓨터 수
  • E: 이것은 역방향 프록시 서버입니다
  • F: 하나 이상의 원본 서버
역방향 프록시 흐름: 사용자의 장치(D)에서 인터넷, 역방향 프록시(E), 원본 서버(F)로 전달하는 트래픽 흐름

일반적으로 D의 모든 요청은 F로 직접 이동하고, F는 D에게로 직접 응답을 보냅니다. 역방향 프록시를 사용하면 D의 모든 요청이 E로 직접 이동하고, E는 요청을 F에게로 보내며 F로부터 응답을 받습니다. E는 그런 다음 적절한 응답을 D에게 전달합니다.

아래에서는 역방향 프록시의 이점을 간략하게 설명합니다.

  • 부하 분산 - 매일 수백만 명의 사용자를 확보하는 인기 있는 웹 사이트에서는 단일 원본 서버로 들어오는 모든 사이트 트래픽을 처리하지 못할 수 있습니다.대신, 사이트에서는 동일한 사이트에 대한 요청을 모두 처리하는 서로 다른 서버 풀에 분산될 수 있습니다.이 경우 역방향 프록시는 단일 서버에 과부하가 걸리는 것을 방지하기 위해 들어오는 트래픽을 여러 서버에 고르게 분산하는 부하 분산 솔루션을 제공할 수 있습니다.서버가 완전히 실패하는 경우 다른 서버가 트래픽을 처리하기 위해 나설 수 있습니다.
  • 공격으로부터 보호 - 역방향 프록시를 사용하면 웹 사이트 또는 서비스에서 원본 서버의 IP 주소를 공개할 필요가 없습니다.이로 인해 공격자가 DDoS 공격과 같은 표적 공격을 활용하기가 훨씬 더 어려워집니다.대신 공격자는 Cloudflare의 CDN과 같은 역방향 프록시만 대상으로 지정할 수 있습니다. 이는 사이버 공격을 방어하기 위해 더 엄격한 보안과 더 많은 자원을 갖게 됩니다.
  • 전역 서버 부하 분산 (GSLB) - 이 부하 분산 형식에서 웹 사이트는 전 세계 여러 서버에 분산될 수 있으며 역방향 프록시는 클라이언트를 지리적으로 가장 가까운 서버로 보냅니다.그러면 요청과 응답이 이동해야 하는 거리가 줄어들어 로드 시간이 최소화됩니다.
  • 캐싱 - 역방향 프록시도 콘텐츠를 캐시할 수 있으므로 성능이 향상됩니다.예를 들어, 파리에 있는 사용자가 로스앤젤레스에 있는 웹 서버가 있는 역방향 프록시 웹 사이트를 방문하는 경우, 사용자는 실제로 파리에 있는 로컬 역방향 프록시 서버에 연결할 수 있습니다. 그러면 이 서버는 LA에 있는 원본 서버와 통신해야 합니다. 프록시 서버는 그런 다음 응답 데이터를 캐시(또는 임시 저장)할 수 있습니다.사이트를 탐색하는 파리의 후속 사용자는 파리의 역 프록시 서버에서 로컬로 캐시된 버전을 가져오므로 성능이 훨씬 빨라집니다.
  • SSL 암호화 - 각 클라이언트에 대한 SSL(또는 TLS) 통신의 암호화 및 암호 해독은 원본 서버의 경우에 계산 비용이 많이 들 수 있습니다.역방향 프록시는 들어오는 모든 요청을 해독하고 나가는 모든 응답을 암호화하여 원본 서버의 귀중한 리소스를 확보하도록 구성할 수 있습니다.

역방향 프록시 구현 방법

일부 회사에서는 자체 역방향 프록시를 구축하지만, 이를 위해서는 집중적인 소프트웨어 및 하드웨어 엔지니어링 리소스와 물리적 하드웨어에 대하여 상당한 투자를 해야 합니다. 역방향 프록시의 모든 이점을 얻는 가장 쉽고 비용 효율적인 방법 중 하나는 CDN 서비스에 가입하는 것입니다. 예를 들어 Cloudflare CDN은 위에 나열된 모든 성능 및 보안 기능과 기타 여러 기능을 제공합니다.