왜 Forward Proxy / Reverse Proxy라고 부를까?
프록시는 공통적으로
“클라이언트와 서버 사이에서 대신 통신해 주는 존재”다.
하지만 누구를 대신하느냐에 따라 역할이 완전히 달라지고,
그 차이가 바로 이름에 반영된다.

────────────────────────────
Forward Proxy란? (클라이언트를 대신한다)
────────────────────────────
Forward Proxy는
클라이언트를 대신해서 앞으로(forward) 나간다.
구조는 다음과 같다.
클라이언트 → Forward Proxy → 외부 서버
이 구조에서 중요한 점은:
클라이언트가 “프록시 사용”을 알고 있음
클라이언트가 목적지 서버를 직접 지정함
프록시는 클라이언트의 요청을 “대신 전달”함
즉,
프록시는 클라이언트의 대리인이다.
그래서 이름이
Forward(앞으로 전달하는) Proxy다.
────────────────────────────
Reverse Proxy란? (서버를 대신한다)
────────────────────────────
Reverse Proxy는
서버를 대신해서 클라이언트를 맞이한다.
구조는 다음과 같다.
클라이언트 → Reverse Proxy → 내부 서버
이 구조에서 중요한 점은:
클라이언트는 프록시의 존재를 모름
클라이언트 입장에서는 프록시가 “진짜 서버”
내부 서버들이 프록시 뒤에 숨겨짐
즉,
프록시는 서버의 대리인이다.
그래서 이름이
Reverse(역방향에서 서버를 감싸는) Proxy다.
────────────────────────────
“Forward / Reverse”는 방향이 아니다
────────────────────────────
많이들 오해하는 포인트가 있다.
Forward = 요청이 나간다 ❌
Reverse = 요청이 들어온다 ❌
실제 의미는 이거다.
Forward Proxy → 클라이언트 기준
Reverse Proxy → 서버 기준
기준점이 어디냐가 다를 뿐이다.
────────────────────────────
한 문장으로 정리하면
────────────────────────────
Forward Proxy
→ “클라이언트가 외부로 나가기 위해 쓰는 프록시”
Reverse Proxy
→ “서버가 외부 요청을 받기 위해 세워둔 프록시”
────────────────────────────
이름을 이렇게 바꿔 생각하면 이해가 쉬워진다
────────────────────────────
Forward Proxy
= Client-side Proxy
= Outbound Proxy
Reverse Proxy
= Server-side Proxy
= Inbound Proxy
────────────────────────────
실무 예시로 보면 더 명확해진다
────────────────────────────
Forward Proxy 예:
회사 네트워크에서 외부 인터넷 접근
HTTPS CONNECT 프록시
IP를 목적지 서버에게 숨김
Reverse Proxy 예:
Nginx, Envoy, HAProxy
Cloudflare
로드 밸런싱, TLS 종료, WAF
'IT > Server' 카테고리의 다른 글
| 사람 없이 구글 API를 쓰는 법 — 서비스 계정과 OAuth 이해하기 (0) | 2026.11.14 |
|---|---|
| Bitbucket 전용 SSH Key 생성 & 설정 방법 (기존 키 유지) (0) | 2026.01.10 |
| HTTPS 프록시의 핵심, CONNECT 메서드란? (0) | 2025.12.25 |
| HTTP 메서드 정리: GET, POST 말고도 뭐가 있을까? (0) | 2025.12.25 |
| Cache-Control: public, max-age, s-maxage, immutable 완벽 정리 (0) | 2025.12.05 |