← 아티클 목록

프록시 vs 리버스 프록시 차이 — 한눈에 정리

2027-07-26#networking#프록시#아키텍처

"프록시"와 "리버스 프록시"는 이름이 비슷해 헷갈리지만, 핵심은 한 문장으로 갈립니다. 누구를 대신하느냐입니다. 포워드 프록시는 클라이언트를 대신하고, 리버스 프록시는 서버를 대신합니다.

포워드 프록시 — 클라이언트 쪽에 선다

포워드 프록시(흔히 그냥 "프록시")는 클라이언트 무리 앞에 서서 그들의 요청을 대신 내보냅니다. 서버 입장에서는 누가 진짜 요청자인지 보이지 않고 프록시만 보입니다.

  • 사내망에서 외부로 나가는 트래픽을 한 지점으로 모음
  • 접근 통제·필터링(특정 사이트 차단)
  • 클라이언트 IP를 숨김
로컬 또는 서버
# 클라이언트가 프록시를 거쳐 나가도록 지정
curl -x http://proxy.internal:3128 https://example.com

리버스 프록시 — 서버 쪽에 선다

리버스 프록시는 서버 무리 앞에 서서 외부 요청을 받아 뒤의 실제 서버로 넘깁니다. 클라이언트는 뒤에 서버가 몇 대인지, 어떤 주소인지 알지 못한 채 리버스 프록시 하나만 봅니다. Nginx, HAProxy, 그리고 이 플랫폼이 쓰는 API Gateway가 대표적입니다.

  • 부하 분산(여러 백엔드로 요청 분배)
  • TLS 종료(인증서를 한 곳에서 처리)
  • 캐싱·압축·요청 라우팅
  • 백엔드 주소·구조를 외부로부터 숨김
로컬 또는 서버
# 리버스 프록시가 응답하는지, 어느 백엔드로 갔는지 헤더로 확인
curl -I https://api.example.com/health

한눈에 비교

구분포워드 프록시리버스 프록시
대신하는 대상클라이언트서버
어디에 위치클라이언트망 출구서버망 입구
숨기는 것클라이언트 IP백엔드 구조
누가 설정클라이언트가 프록시 지정서버 운영자가 배치
대표 용도사내 출구 통제·필터링부하분산·TLS 종료·라우팅

같은 "중계자"지만 선 위치가 정반대입니다. 클라이언트가 자기 요청을 대신 보내달라고 명시적으로 프록시를 지정하면 포워드, 클라이언트가 모르는 사이 서버 앞에서 받아넘기면 리버스입니다.

실무에서는 언제 무엇을

번호로 정리하면 판단이 쉽습니다.

  1. 외부 서비스를 여러 대로 운영하며 한 진입점으로 받고 싶다 → 리버스 프록시
  2. TLS 인증서를 한 곳에서만 관리하고 싶다 → 리버스 프록시(TLS 종료)
  3. 사내 PC들의 인터넷 접근을 통제·로깅하고 싶다 → 포워드 프록시
  4. 마이크로서비스 앞에서 인증·라우팅을 모으고 싶다 → 리버스 프록시(API Gateway)

체크리스트

로컬 또는 서버
curl -x http://proxy:3128 <URL>   # 포워드 프록시 경유 테스트
curl -I https://api.example.com   # 리버스 프록시 응답 헤더 확인
ss -tlnp | grep -E ':80|:443'     # 프록시가 듣는 포트 확인

포워드·리버스 프록시를 직접 세워보고 트래픽 흐름을 관찰하는 실습은 네트워크 트랙에서 회원가입 없이 무료로 해볼 수 있습니다.