[CS] Forward Proxy, Reverse Proxy

Donghoon Jeong·2024년 6월 2일
0

CS

목록 보기
2/2
post-thumbnail

이번 포스팅에서는 포워드 프로시(Forward Proxy)와 리버스 프록시(Reverse Proxy)의 개념과 두 프록시의 차이점에 대해서 알아보도록 하겠습니다.


프록시 (Proxy)

프록시(Proxy)대리 라는 의미를 갖고 있으며, 서버와 서버사이의 중계 역할을 합니다. 프록시 서버(proxy server)는 컴퓨터 네트워크에서 클라이언트와 서버 사이에 중개 역할을 하는 시스템 또는 애플리케이션입니다.

네트워크에 연결된 모든 컴퓨터는 IP를 가지고 있습니다. 마찬가지로 프록시 서버는 자체 IP 주소가 있는 네트워크의 컴퓨터라고 생각할 수 있습니다.

클라이언트가 요청한 자원을 대신하여 서버로부터 가져오고, 이를 클라이언트에게 전달하는 역할을 수행합니다. 프록시 서버는 네트워크 상에서 대리 통신을 수행합니다. 이는 보안, 성능 및 안정성 향상에 중요한 역할을 합니다.

프록시 서버의 역할과 기능

  1. 보안: 프록시 서버는 클라이언트와 서버 간의 직접적인 접촉을 차단하여 보안을 강화합니다. 예를 들어, 클라이언트의 IP 주소를 숨겨서 외부 공격으로부터 보호할 수 있습니다.

  2. 캐싱: 프록시 서버는 자주 요청되는 데이터를 캐싱하여 네트워크 트래픽을 줄이고 응답 속도를 높입니다. 이를 통해 클라이언트의 응답 시간을 단축시키고, 불필요한 외부 전송을 하지 않음으로서 외부 요청이 감소하기 때문에 네트워크 병못 현상을 방지 할 수 있습니다.

  3. 액세스 제어: 프록시 서버는 특정 웹사이트에 대한 접근을 차단하거나 제한할 수 있습니다. 이는 조직 내에서 비생산적인 사이트에 대한 접근을 막기 위해 사용될 수 있습니다.

프록시 서버는 네트워크 상의 위치와 데이터 흐름에 따라 크게 포워드 프록시(Forward Proxy)와 리버스 프록시(Reverse Proxy) 두 가지로 분류할 수 있습니다.


포워드 프록시 (Forward Proxy)

포워드 프록시 서버는 클라이언트와 서버 사이에 위치하여 클라이언트의 요청을 대신 처리합니다. 클라이언트는 직접 서버에 접근하지 않고 포워드 프록시를 통해 요청을 전달합니다. 포워드 프록시는 클라이언트의 요청을 받아 실제 서버에 전달하고, 서버로부터 받은 응답을 다시 클라이언트에게 전달합니다.

주로 내부 네트워크에서 외부 네트워크로의 접근을 제어할 때 사용됩니다.

포워드 프록시의 주요 기능

  1. 익명성 제공: 클라이언트의 IP 주소를 숨기고 프록시 서버의 IP 주소로 요청을 보내기 때문에 클라이언트의 신원을 보호할 수 있습니다.

  2. 캐싱: 자주 요청되는 데이터를 프록시 서버에 캐싱하여 반복 요청 시 빠르게 응답할 수 있습니다. 이는 서버 부하를 줄이고 클라이언트의 응답 시간을 단축시킵니다.

  3. 보안 강화: 악성 코드나 불법 콘텐츠가 포함된 웹 페이지를 차단하여 클라이언트를 보호할 수 있습니다.

포워드 프록시의 활용 예

  • 회사나 기관에서 직원들이 특정 웹사이트에 접근하지 못하도록 차단하는 경우

  • 학교에서 학생들이 유해한 콘텐츠에 접근하지 못하도록 하는 경우

  • 개인 사용자가 자신의 IP를 숨기고 인터넷을 익명으로 탐색하고자 할 때


리버스 프록시 (Reverse Proxy)

리버스 프록시는 애플리케이션 서버 앞에 위치하여 클라이언트로부터의 요청을 받아서 적절한 웹 서버로 요청을 전송하는 역할을 합니다. 웹 서버는 요청을 받아서 평소처럼 처리를 하지만, 응답을 클라이언트로 보내지 않고 Reverse Proxy로 반환합니다. Reverse Proxy는 서버로부터 응답을 전달받아 그 응답을 클라이언트로 전송하는 역할을 합니다.

주로 외부 네트워크에서 내부 네트워크로의 접근을 제어할 때 사용됩니다.

리버스 프록시의 주요 기능

  1. 로드 밸런싱: 리버스 프록시는 다수의 서버에 트래픽을 분산시켜 서버 부하를 고르게 분산하고, 서버 다운타임을 최소화합니다.

  2. 캐싱: 리버스 프록시는 자주 요청되는 콘텐츠를 캐싱하여 서버 부하를 줄이고 클라이언트에게 빠른 응답을 제공합니다.

  3. 보안 강화: 리버스 프록시는 실제 서버의 IP 주소를 숨기고 클라이언트가 직접 서버에 접근하지 못하도록 하여 보안을 강화합니다. 이는 외부 공격으로부터 서버를 보호하는 데 유용합니다.

  4. SSL 종료: 리버스 프록시는 SSL/TLS 암호화된 트래픽을 해제하여 서버의 부담을 줄이고, 서버가 암호화되지 않은 트래픽을 처리할 수 있도록 합니다. 이를 통해 서버의 성능을 향상시킬 수 있습니다.

리버스 프록시의 활용 예

  • 대규모 웹사이트에서 다수의 웹 서버에 트래픽을 분산시켜 안정성을 높이는 경우

  • 특정 웹 애플리케이션 서버를 보호하고 보안을 강화하기 위해 사용되는 경우

  • SSL/TLS 암호화된 트래픽을 해제하여 웹 서버의 부하를 줄이는 경우.


정리

  • 포워드 프록시

    • 클라이언트 쪽에 위치하여 클라이언트의 요청을 서버로 전달

    • 내부망에서 외부망으로 접근할 때 사용

  • 리버스 프록시

    • 서버 쪽에 위치하여 클라이언트의 요청을 받아 여러 서버로 분배

    • 외부망에서 내부망으로 접근할 때 사용


특징포워드 프록시 (Forward Proxy)리버스 프록시 (Reverse Proxy)
위치클라이언트와 서버 사이 (클라이언트 측)클라이언트와 서버 사이 (서버 측)
주요 목적내부 네트워크 보호, 캐싱, 익명성 보장서버 부하 분산, 보안 강화, 캐싱
사용 사례회사, 학교 등 내부 네트워크에서 외부 네트워크 접근 제어대형 웹사이트 트래픽 분산, 서버 보호
캐싱클라이언트 요청 데이터 캐싱서버 응답 데이터 캐싱
보안클라이언트의 IP 주소 숨김서버의 IP 주소 숨김
SSL Offloading해당 없음지원

Reference

https://ko.wikipedia.org/wiki/%ED%94%84%EB%A1%9D%EC%8B%9C_%EC%84%9C%EB%B2%84

https://ko.wikipedia.org/wiki/%EB%A6%AC%EB%B2%84%EC%8A%A4_%ED%94%84%EB%A1%9D%EC%8B%9C

profile
정신 🍒 !

0개의 댓글