Appearance
Proxy & Reverse Proxy
1. Proxy (프록시)란?
**프록시(Proxy)**는 '대리인'이라는 의미로, 클라이언트와 서버 사이에서 중계 역할을 하는 서버를 말한다. 클라이언트가 프록시 서버를 통해 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해준다.
프록시 서버의 주요 기능
- 캐싱(Caching): 이전에 요청된 데이터를 저장해 두어, 같은 요청이 올 경우 서버까지 가지 않고 프록시 서버가 직접 응답하여 응답 속도를 높이고 서버 부하를 줄인다.
- 보안(Security): 클라이언트의 IP를 숨기거나(익명성 보장), 악성 사이트 접속을 차단하는 방화벽 역할을 한다.
- 접근 제어: 사내 네트워크 등에서 특정 사이트 접근을 제한하거나 필터링할 때 사용한다.
2. Forward Proxy (포워드 프록시)
일반적으로 말하는 '프록시'는 Forward Proxy를 의미한다. 클라이언트와 인터넷(외부 서버) 사이에 위치하며, 클라이언트를 대신해 인터넷에 접속하여 데이터를 가져온다.
![]()
특징
- 클라이언트 감추기: 외부 서버는 요청을 보낸 실제 클라이언트의 IP를 알지 못하고, 프록시 서버의 IP만 알게 된다.
- 용도: 주로 기업이나 학교 네트워크에서 보안, 캐싱, 접근 제어(사이트 차단) 목적으로 사용된다.
3. Reverse Proxy (리버스 프록시)
Reverse Proxy는 인터넷(외부 네트워크)과 백엔드 서버(내부 서버) 사이에 위치한다. 클라이언트는 리버스 프록시를 일반적인 웹 서버로 인식하여 요청을 보내고, 리버스 프록시는 내부 네트워크망에 있는 실제 서버들에게 요청을 전달(라우팅)한 후 응답을 받아 클라이언트에게 반환한다. (예: Nginx, HAProxy, AWS ALB)
![]()
특징 및 도입 목적
- 서버 감추기 (보안): 클라이언트는 실제 백엔드 서버의 IP 주소나 내부 구조를 알 수 없다. 내부망 서버를 외부로 직접 노출시키지 않아 보안이 강화된다.
- 로드 밸런싱(Load Balancing): 여러 대의 백엔드 서버로 트래픽을 분산시켜 특정 서버에 부하가 집중되는 것을 막는다.
- SSL 오프로딩(SSL Offloading): 리버스 프록시 서버에서 SSL/TLS 암호화 및 복호화를 전담하여, 백엔드 서버의 CPU 연산 부담을 줄여준다.
- 캐싱: 포워드 프록시와 마찬가지로 정적 자원(이미지, CSS 등)을 캐싱하여 서버의 응답 속도를 향상시킨다.
4. 요약 비교
| 구분 | Forward Proxy | Reverse Proxy |
|---|---|---|
| 위치 | 클라이언트 앞 | 백엔드 서버 앞 |
| 목적 | 클라이언트 보호, 캐싱, 사이트 접근 제어 | 서버 보호, 로드 밸런싱, SSL 오프로딩 |
| 감추는 대상 | 클라이언트의 IP (서버가 클라이언트를 모름) | 백엔드 서버의 IP (클라이언트가 서버를 모름) |