프록시(Proxy) 서버는 클라이언트와 서버 사이에서 중개자 역할을 하는 서버다. 캐싱, 익명성 제공, 접근 제어, 부하 분산 등의 역할을 한다.
포워드 프록시 vs 리버스 프록시
포워드 프록시:
클라이언트 → [프록시] → 인터넷 서버
용도: 익명성, 접근 제어, 캐싱
리버스 프록시:
인터넷 클라이언트 → [프록시] → 내부 서버들
용도: 로드 밸런싱, SSL 종단, 캐싱
주요 기능
| 기능 | 설명 |
|---|
| 캐싱 | 자주 요청되는 콘텐츠를 저장해 빠르게 응답 |
| 익명성 | 클라이언트 IP를 숨김 |
| 접근 제어 | 특정 사이트 차단/허용 |
| SSL 종단 | HTTPS를 프록시에서 처리 |
| 로드 밸런싱 | 요청을 여러 서버에 분산 |
Nginx 리버스 프록시 설정
nginx
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://backend:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
관련 개념
- •로드 밸런서 — 리버스 프록시의 주요 기능
- •CDN — 글로벌 캐싱 프록시 네트워크
- •SSL/TLS — 프록시의 SSL 종단 처리
참고문헌
- •Nginx 공식 문서
- •Squid Proxy 문서