**프록시(proxy)**는 요청의 중개자 역할을 합니다. **포워드 프록시(forward proxy)**는 클라이언트 앞에 위치(서버에 클라이언트를 대표)하고, **리버스 프록시(reverse proxy)**는 서버 앞에 위치(클라이언트에 서버를 대표)하여 — load balancing, 캐싱, 보안 등을 처리합니다. 리버스 프록시는 핵심 시스템 디자인 구성 요소입니다.
포워드 프록시 vs 리버스 프록시
포워드 프록시 → 클라이언트 앞에 위치, 그들의 요청을 서버로 전달:
클라이언트 → 포워드 프록시 → 인터넷/서버
→ 클라이언트를 대표 (클라이언트 신원 은닉); 필터링, 캐싱, 익명성,
접근 제어용 (예: 기업 프록시)
리버스 프록시 → 서버 앞에 위치, 서버를 대신해 요청 수신:
클라이언트 → 리버스 프록시 → 백엔드 서버
→ 서버를 대표 (클라이언트는 백엔드를 못 봄); 흔한 시스템 디자인 구성 요소
리버스 프록시가 하는 일
✓ LOAD BALANCING → 백엔드 서버에 요청 분산
✓ 캐싱 → 응답 캐시 (백엔드 부하 감소)
✓ SSL TERMINATION → HTTPS 암호화/복호화 처리 (백엔드에서 분리)
✓ 보안 → 백엔드 서버 은닉; 필터링, WAF, DDoS 보호의 단일 지점
✓ 압축, 요청 라우팅, rate limiting
→ 도구: NGINX, HAProxy, Envoy; CDN과 API gateway도 리버스 프록시의 한 형태
