반응형
💡 "프록시? 리버스 프록시? 뭐가 다른데?"
서버 관련 문서나 강의 보면
"Proxy"
"Reverse Proxy"
비슷하게 생긴 이름에 많이 헷갈리셨죠? 🤔
사실 둘은 위치와 역할이 완전히 다릅니다.
오늘은 그림과 예시로 아주 쉽게 구분해드릴게요! 😊
🧭 Proxy란?
Proxy(프록시)는
클라이언트 쪽에서 요청을 대신 보내주는 중간 서버입니다.
✅ 즉, 내가 직접 서버에 요청하는 게 아니라
프록시 서버에게 대신 부탁하는 거예요.
예시:
- 회사 내부 네트워크 → 프록시 서버 → 인터넷
- VPN → 나 대신 다른 IP로 요청
- "우회" 느낌!
📌 사용자 → 프록시 → 서버
🔁 Reverse Proxy란?
Reverse Proxy(리버스 프록시)는
서버 쪽에서 요청을 받아서 내부 서버로 전달해주는 중간 관리자입니다.
✅ 사용자들은 리버스 프록시한테만 요청하고,
리버스 프록시는 알아서 내부 서버로 요청을 나눠줍니다.
예시:
- Nginx가 API 서버, 이미지 서버, 프론트 서버로 요청 분배
- AWS ELB (Elastic Load Balancer)
- 클라우드플레어 (DDoS 방어 + 캐시)
📌 사용자 → 리버스 프록시 → 여러 서버
🆚 Proxy와 Reverse Proxy 비교표
항목 | Proxy(정방향 프록시) | Reverse Proxy(역방향 프록시) |
위치 | 사용자 쪽 | 서버 쪽 |
역할 | 클라이언트 대신 요청 | 서버로 가는 요청을 분배 |
주된 목적 | IP 우회, 익명성, 내부망에서 외부 접속 | 로드밸런싱, 보안, 캐싱, SSL 처리 |
예시 | VPN, 회사 프록시 서버 | Nginx, AWS ELB, Cloudflare |
🖼️ 그림으로 한눈에 보기
[사용자] → [프록시] → [인터넷]
(내가 가리기 위해 중간에 프록시 둠)
[사용자] → [리버스 프록시] → [서버1]
→ [서버2]
→ [서버3]
(서버가 가리기 위해 중간에 리버스 프록시 둠)
🚀 왜 헷갈릴까?
이름 때문이에요!
- Proxy = 대신 (클라이언트가 가리고 싶을 때)
- Reverse Proxy = 대신 (서버가 가리고 싶을 때)
👉 둘 다 "중간에서 대신 해주는 역할"인데,
어디서 대신하느냐가 다릅니다!
💡 실무에서 많이 쓰이는 리버스 프록시 예시
서비스 | 역할 |
Nginx | 리버스 프록시, 정적 파일 서빙, 로드밸런싱 |
AWS ELB | 자동 트래픽 분산, 로드밸런서 |
Cloudflare | DDoS 방어, 캐시, SSL 인증서 관리 |
🧠 정리 한마디!
구분 | Proxy | Reverse Proxy |
대신 요청하는 주체 | 클라이언트 쪽 | 서버 쪽 |
목적 | 우회, 익명성 | 부하 분산, 보안, 라우팅 |
예시 | VPN, 회사 프록시 | Nginx, ELB, Cloudflare |
"누가 숨고 싶은지 생각하세요!"
→ 클라이언트가 숨고 싶다 = Proxy
→ 서버가 숨고 싶다 = Reverse Proxy
📌 다음 예고: "환경변수(.env)는 왜 쓰는 거야? 설정파일과 차이는?"
- .env 파일은 뭐고 왜 필요한데?
- 코드에 직접 안 쓰고 환경변수로 관리하는 이유?
- 실무에서 민감 정보 안전하게 관리하는 방법!
반응형
'개발 공부 > 서버' 카테고리의 다른 글
[서버 기초] 세션, 쿠키, JWT? 로그인 상태 유지 방식 깔끔 정리! (0) | 2025.05.01 |
---|---|
[서버 기초] PUT과 PATCH 차이, 수정인데 뭐가 다르지? (0) | 2025.04.30 |
[서버 기초] HTTP 상태 코드 200, 404, 500… 에러코드 총정리! (0) | 2025.04.29 |
[서버 기초] GET과 POST 비교, 도대체 뭐가 다른 거야? (0) | 2025.04.28 |
[서버 기초] 포트(Port)란? IP랑 뭐가 다른데? 포트랑 IP의 차이점 (0) | 2025.04.25 |