티스토리 뷰

기타

프록시와 리버스 프록시

ipxy 2025. 3. 25. 14:11
728x90

 

🧭 1. 프록시(Forward Proxy)란?

프록시는 클라이언트의 대리인 역할을 하는 서버입니다.
즉, 사용자가 어떤 웹사이트에 접속할 때, 직접 접속하지 않고 프록시 서버를 통해 접속합니다.

🔄 흐름도

[클라이언트] → [프록시 서버] → [목적지 서버]

📌 주요 목적

목적  설명
익명성 클라이언트의 IP 주소를 숨김 (프록시 서버의 IP로 요청)
접근 제어 특정 사이트 차단 등 정책 설정 가능 (예: 회사에서 유튜브 차단)
캐싱 자주 사용하는 리소스를 프록시 서버에 저장해 빠르게 응답
트래픽 모니터링 내부 사용자들의 웹 활동을 분석 가능
우회 접속 특정 국가에서 접속이 제한된 콘텐츠를 다른 IP로 우회

🧪 예시 상황

  • 기업 내부에서 직원들이 외부 인터넷에 접근할 때 프록시 서버 사용
  • 사용자가 개인 VPN을 설정하여 특정 국가의 IP로 접속
  • 스쿨넷에서 특정 사이트 차단

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

리버스 프록시는 서버의 대리인 역할을 합니다.
즉, 사용자는 서버에 요청을 보내는 것처럼 보이지만, 실제로는 리버스 프록시가 요청을 받아 서버로 전달합니다.

🔄 흐름도

[클라이언트] → [리버스 프록시] → [백엔드 서버들]

📌 주요 목적

 

목적  설명
로드 밸런싱 여러 백엔드 서버로 요청 분산 (scale-out)
SSL 종료 HTTPS 요청을 리버스 프록시에서 처리하고 내부는 HTTP로 통신
보안 강화 서버 IP 숨김, DDoS 차단, WAF 기능 연계
캐싱 자주 요청되는 정적 콘텐츠를 미리 응답
URL 라우팅 도메인/경로 기반으로 서로 다른 서비스에 전달 (/api → 서비스 A, /app → 서비스 B)

🧪 예시 상황

  • Nginx 리버스 프록시가 /api 요청은 Spring Boot API 서버로, /static 요청은 정적 서버로 전달
  • Cloudflare가 웹사이트 트래픽을 받아 공격 차단 후 백엔드로 전달
  • AWS Application Load Balancer(ALB)가 HTTP 요청을 여러 컨테이너로 라우팅

🆚 프록시 vs 리버스 프록시 비교 요약

 

항목  프록시 (Forward Proxy)  리버스 프록시 (Reverse Proxy)
위치 클라이언트 앞단 서버 앞단
주 대상 클라이언트 보호/통제 서버 보호/부하 분산
요청 흐름 클라이언트 → 프록시 → 서버 클라이언트 → 리버스프록시 → 서버
IP 숨김 클라이언트 IP 숨김 서버 IP 숨김
주 용도 인터넷 접속 통제, 캐싱, 필터링, 보안 로드 밸런싱, SSL 종료, WAF, 캐싱, 보안
대표 도구 Squid, VPN, 브라우저 프록시 설정 Nginx, Apache HTTPD, Envoy, Cloudflare, HAProxy

🌐 그림으로 비교

[프록시]
사용자 --요청--> 프록시 서버 --요청--> 구글/네이버

[리버스 프록시]
사용자 --요청--> 리버스 프록시 --요청--> 내부 백엔드 서비스

💬 실무에서는?

  • MSA 환경에서 대부분 리버스 프록시를 사용합니다.
  • 예: Ingress Controller (Kubernetes) → 리버스 프록시의 대표적인 형태
  • nginx.conf에서 proxy_pass 설정을 많이 볼 수 있어요.

 

728x90
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함