[CS] what is proxy ?

이재훈·2023년 6월 20일
0

cs

목록 보기
1/1

what is proxy ?

프록시는 사용자와 인터넷 간의 중개자 역할을 합니다. 우리가 방문하는 웹 사이트 사이에 위치하여 우리를 대신해 요청을 전달하고 응답을 받습니다. 프록시를 통해 웹 사이트에 연결하면 우리의 ip주소를 숨기고 다른 ip 주소를 통해 요청을 전달합니다.

when we use proxy ?

  1. 익명성 : 프록시는 우리의 ip 주소를 숨겨 웹 사이트에서의 활동을 추적하기 어렵게 만듭니다. 개인 정보를 보호하고 웹 사이트에서 개인 정보를 수집하는 것을 방지할 수 있습니다.
  2. 액세스 제어 : 프록시를 사용하여 특정 웹 사이트 또는 콘텐츠에 대한 엑세스를 제한하거나 부여할 수 있습니다. 예를 들어 조직에서는 프록시를 하용하여 소셜 미디어 사이트나 직장 내 부적절한 콘텐츠에 대한 액세스를 차단하는 경우가 많습니다.
  3. 캐싱 : 프록시는 웹 페이지 및 파일의 복사본을 저장할 수 있으므로 후속 요청을 더 빠르게 처리할 수 있습니다. 이렇게 하면 대역폭 사용량이 줄어들고 사용자의 탐색 속도가 빨라집니다.
  4. 로드 밸런싱 : 프록시는 들어오는 네트워크 트래픽을 여러 서버로 분산시켜 리소스 활용을 최적화 하고 전반적인 성능과 안정성을 향상 시킵니다.
  5. 보안 : 프록시는 사용자와 인터넷 사이에서 버퍼 역할을 하여 추가 보안 계층을 제공할 수 있습니다. 악의적이거나 의심스러운 트래픽을 필터링 하여 중요한 시스템에 대한 직접 액세스를 방지, 보호가 가능합니다.

Proxy type

Forward proxy

프록시 서버가 클라이언트 뒤에 위치하며 클라이언트

reverse proxy

리버스 프록시는 클라이언트와 백엔드 서버 간의 중개자 역할을 합니다. 클라이언트로 부터 들어오는 요청을 수신하고 로드 밸런싱 알고리즘, 요청 유형 또는 URL 패턴과 같은 다양한 기준에 따라 적절한 백엔드 서버로 전달합니다.

reverse proxy 특징, 이점

  1. 로드 밸런싱 : 리버스 프록시는 수신 요청을 여러 백엔드 서버에 분산하여 최적의 리소스 활용을 보장하고 증가된 트래픽 로드를 처리할 수 있습니다. 라운드 로빈, 최소 연결 또는 가중 분배와 같은 알고리즘을 사용하여 요청을 균등하게 분배할 수 있습니다.
  2. 캐싱 : 역방향 프록시는 백엔드 서버의 응답을 캐시하고 이후 동일한 요청에 대해 클라이언트에게 응답을 합니다. 이렇게 하면 서버에 부하가 줄어들고 자주 액세스하는 리소스에 대한 응답 시간이 향상됩니다.
  3. 보안 : 리버스 프록시는 클라이언트와 백엔드 서버 사이에서 방패 역할을 하며 추가 보안 계층을 제공합니다. 백엔드 서버에 대한 직접 액세스 방지, 민감한 데이터 보호와 같은 보안 관련 작업을 처리할 수 있습니다.
  4. SSL 오프로딩 : 역방향 프록시는 백엔드 서버를 대신하여 SSL/TLS 암호화 및 암호해독 처리가 가능합니다. 백엔드 서버에서 오버헤드를 오프로드하여 서버가 요청 처리에 집중할 수 있습니다.
  5. IP 마스킹 및 익명성 : 리버스 프록시는 백엔드 서버의 IP 주소를 마스킹하여 클라이언트로부터 숨길 수 있습니다. 백엔드 인프라에 대한 익명성과 보안계층이 추가됩니다.
  6. 콘텐츠 전송 : 리버스 프록시는 프록시 캐시 또는 CDN(컨텐츠 전송 네트워크)에서 직접 이미지, css 파일 또는 js 파일과 같은 정작 자산을 제공하는데 사용할 수 있습니다. 이렇게 하면 백엔드 서버로의 왕복 시간이 줄어들어 성능이 향상됩니다.
  7. 요청 라우팅 및 URL 재작성 : 리버스 프록시는 URL 경로, 요청 헤더 또는 사용자 세션과 같은 다양한 기준에 따라 요청을 라우팅할 수 있습니다. 또한 URL을 다시 작성하여 들어오는 요청을 적절한 백엔드 리소스에 매핑할 수 있습니다.

백엔드 서버 앞에 리버스 프록시를 배포하면 rest api 호출을 처리할 때 확장성, 성능, 보안 및 유연성을 확장시킬 수 있습니다.

forward proxy vs reverse proxy

forward proxy

클라이언트가 인터넷에 엑세스하는데 사용됩니다. 클라이언트가 웹 리소스에 대한 요청을 하면 요청이 먼저 정방향 프록시 서버로 전송됩니다. 정방향 프록시는 클라이언트를 대신하여 대상 웹 서버에 요청을 전달합니다. 웹 서버의 응답은 프록시로 반환된 후 다시 클라이언트로 전달 됩니다.

차이점

forward proxy와 reverse proxy 모두 중개자 역할을 하지만 forward proxy는 클라이언트가 인터넷에 엑세스하고 클라이언트 익명성, 엑세스 제어 및 캐싱을 제공하는 데 사용됩니다.

reverse proxy는 클라이언트와 백엔드 서버 사이에 배체되어 로드 밸런싱, SSL/TLS, 캐싱 및 백엔드 서비스 보안 강화를 가능하게 합니다.

profile
부족함을 인정하고 노력하자

0개의 댓글