[CS] 프록시(Proxy)란?

한끄적
|2024. 11. 8. 15:57

이번 신규 프로젝트를 진행하며 브릿지 구성 방식이었던 서버를 프록시 구성 방식으로 변경해야할 상황이 발생했다.

프록시에 대해 알아보자.

 

Proxy(프록시)는 클라이언트와 서버 사이에서 중개 역할을 하는 서버다.

일반적으로 사용자의 요청을 받아 대신 서버에 전달하고, 서버의 응답을 다시 사용자에게 전달하는 방식으로 동작한다.

이 방식은 보안, 캐싱, 로드 밸런싱, IP 주소 숨기기, 또는 특정 콘텐츠 필터링을 목적으로 활용된다.

 

프록시 서버는 여러 유형이 있는데, 각 유형마다 역할과 사용 목적이 다르다.

가장 일반적인 프록시 서버 유형과 각 유형의 역할을 예시로 살펴보자.

 

1. 정방향 프록시 (Forward Proxy)

정방향 프록시는 사용자가 외부 서버에 접근할 때 중간에 위치하여 요청을 대신 전달해주는 방식이다.

예를 들어, 회사 내부 네트워크에 있는 직원이 인터넷에 접근할 때 프록시 서버를 거치게 함으로써 직원들의 인터넷 사용 기록을 관리하거나 차단할 사이트를 설정할 수 있다.

Forward Proxy


ex) [회사 → 프록시 → WEB → 외부 서버] 회사에서 직원이 특정 웹사이트에 접근하려 할 때 정방향 프록시가 해당 요청을 받아 외부 서버로 전달한다. 이때 회사 정책에 따라 특정 웹사이트의 접근을 차단할 수도 있다.

 

2. 리버스 프록시 (Reverse Proxy)

리버스 프록시는 서버 측에서 동작(서버 사이드 렌더링)하며, 클라이언트의 요청을 받아 내부의 여러 서버로 전달한다.

리버스 프록시 서버는 주로 로드 밸런싱, SSL 인증서 관리, 캐싱 등을 목적으로 사용된다.

Reverse Proxy



ex) [클라이언트 → WEB → 리버스 프록시 서버 → 내부 서버] 인기 있는 웹사이트는 리버스 프록시를 사용하여 요청을 여러 웹 서버로 분산시켜 처리 속도를 높이고, 동시에 사용자 요청을 캐싱하여 동일한 요청이 들어올 때 서버 부담을 줄인다. 클라이언트는 프록시를 통해 서버에 접근하므로 서버의 실제 IP는 감춰질 수 있다.

 

3. 투명 프록시 (Transparent Proxy)

투명 프록시는 사용자나 서버가 프록시의 존재를 인식하지 못하게 하면서 요청을 처리한다.

주로 캐싱을 통한 성능 개선과, 네트워크 보안을 강화하는 목적 등으로 사용된다.

ex) 인터넷 서비스 제공 업체(ISP)가 투명 프록시를 이용하여 자주 요청되는 콘텐츠를 캐싱하면, 동일한 콘텐츠 요청 시 서버에 다시 접근하지 않고 프록시 서버에서 바로 응답을 제공하여 성능을 향상시킬 수 있다고 한다.


반응형