본문 바로가기
INFRA/DevOps

API Proxy

by BTC_SEUNGJUN 2022. 10. 11.

안녕하세요. Administrator 팀입니다!

오늘은 API Proxy의 기본 개념에 대해서 좋은 자료를 가져왔으니 알아보는 시간을 가져보도록 할게요!

 

프록시 서버(Proxy Server)란?


 

 

클라이언트가 자신을 통해 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해주는 컴퓨터 시스템이나 응용 프로그램을 가르키는 말입니다. 서버와 클라이언트 사이에 중계기로서 대리로 통신을 수행하는 것을 가리켜 프록시, 그 중계 기능을 하는 것을 프록시 서버라고 부릅니다.

 

프록시 서버 중 일부는 프록시 서버에 요청된 내용들을 캐시를 이용하여 저장해 둡니다. 이렇게 캐시를 해 두고 난 후에, 캐시 안에 있는 정보를 요구하는 요청에 대해서는 원격 서버에 접속하여 데이터를 가져올 필요가 없게 됨으로써 전송 시간을 절약할 수 있게 됨과 동시에 불필요하게 외부와의 연결을 하지 않아도 된다는 장점을 갖게 됩니다. 또한 외부와의 트래픽을 줄이게 됨으로써 네트워크 병목 현상을 방지하는 효과도 얻을 수 있게 됩니다.

 

즉, 프록시 서버는 서버와 클라이언트 사이에서 요청과 응답을 처리해준다고 요약할 수 있습니다.

  1. 클라이언트에서 프록시 서버로 데이터 전송
  2. 프록시 서버에서 다시 웹 서버로 웹 요청
  3. 웹 서버에서 프록시 서버로 웹 응답
  4. 프록시 서버에서 클라이언트로 데이터 전송

 

 

개인, 공용 프록시


프록시 서버를 생성할 때는 개인 프록시로 활용될 것인지, 공용 프록시 서버로 활용될 것인지로 1차적인 분류가 됩니다.

 

1) 공용 프록시

 대부분의 프록시 서버는 공용으로 사용됩니다. 그 이유는 중앙 집중형 프록시를 관리하는게 비용 효율이 높고 쉬워서입니다. 캐시 프록시 서버와 같은 몇몇 프록시 애플리케이션은 프록시를 이용하는 사용자가 많을수록 유리하다고 합니다.

 

2) 개인 프록시

 개인 전용 프록시는 요즘 활발하게 사용되고 있습니다. 해당 컴퓨터에서 직접 실행되는 형태로 브라우저의 기능 확장 및 해외 접속, 광고 운영을 위해 작은 개인 프록시를 사용한다고 합니다.

 

 

 

프록시가 트래픽을 처리하는 방법


클라이언트 수정 : 웹 브라우저들은 프록시 설정을 지원합니다. 만약 프록시를 사용하도록 설정되어 있다면, 클라이언트는 HTTP 요청을 바로 그리고 의도적으로 프록시로 보냅니다.

 

네트워크 수정 : 클라이언트가 눈치챌 수 없도록 네트워크 인프라를 가로채서 웹 트래픽 프록시로 가도록 하는 몇 가지 기법이 있는데, 이것을 인터셉트 프록시라고 합니다.

 

DNS 네임스페이스 수정 : 웹 서버 앞에 있는 surrogate는 웹 서버의 이름과 IP 주소를 직접 사용합니다. 그래서 모든 요청은 대리 프록시를 거쳐서 가게됩니다. 즉 DNS 이름 테이블을 수동 편집하거나, 적절한 프록시 서버를 계산해주는 특별한 동적 DNS 서버를 이용해서 조정될 수 있습니다.

 

웹 서버 수정 : HTTP 리다이렉션 명령을 클라이언트에게 돌려줌으로써 클라이언트의 요청을 프록시로 리다이렉트하도록 설정할 수 있습니다.

 

 

프록시 서버의 종류


프록시 서버는 위치와 네트워크 구성에 따라 나누어 질 수 있습니다.

 

Forward Proxy

 일반적인 프록시 서버로, 클라이언트와 서버의 중계 역할을 수행합니다. 이 경우는 클라이언트가 요청하기 전까지 웹 서버의 주소를 알 수 없습니다.

 

Reverse Proxy

 클라이언트와 Private Network에 존재하는 서버들 사이에 위치하여 제어 역할을 수행합니다. 클라이언트의 요청을 받아 내부망 서버에 요청한 후, 응답을 클라이언트에게 전달해줍니다. 실제 서버들에 대한 주소를 매핑하고 있으며, 보안과 로드밸런싱을 위해 사용됩니다.

 

Open Proxy

 열린 프록시로 모든 요청에 열려 있으며, 자신의 IP 주소를 숨기고 프록시 IP를 통해 인터넷 서비스를 이용할 수 있습니다. IP 추적 방지 및 우회 접속이 가능합니다.

 

 


 

 

reference site

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

 

프록시 서버 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 도식화한 프록시 서버. 두 컴퓨터 사이에 끼어 있는 컴퓨터가 바로 프록시 서버이다. 프록시 서버(영어: proxy server 프록시 서버[*])는 클라이언트가 자신을 통해

ko.wikipedia.org

 

'INFRA > DevOps' 카테고리의 다른 글

[k8s] Statefulset  (0) 2022.10.19
[NGINX] Reverse Proxy  (0) 2022.10.11
[K8s] DaemonSet  (0) 2022.10.11
[K8s] Deployment  (1) 2022.10.04
[K8s] ReplicationController & ReplicaSet  (0) 2022.09.26

댓글