프록시(proxy)란 사용자의 요청을 대신 처리해 주는 중개 서버를 의미한다. 일반적으로 클라이언트와 서버 사이에 위치하여, 클라이언트의 요청을 받아서 서버에 전달하고, 서버의 응답을 다시 클라이언트에 전달한다. 이 과정을 통해 다양한 기능과 이점을 제공한다.
1. 프록시의 기본 구조
- 클라이언트는 웹 브라우저, 앱 등 사용자의 요청을 만드는 주체다.
- 프록시 서버는 클라이언트와 서버 사이에 위치해 요청과 응답을 중계한다.
- 실제 서버는 요청된 리소스나 데이터를 가진 최종 목적지다.
2. 프록시의 주요 역할
- 중개: 클라이언트와 서버 사이의 요청/응답을 대신 수행한다.
- 캐싱: 자주 요청되는 데이터를 저장해 빠른 응답을 제공한다. (속도 및 트래픽 절감)
- 보안: 내부 IP 숨김, 악성 요청 필터링, SSL 처리 등
- 접근 제어: 특정 사이트나 리소스에 대한 접근 제한 설정 가능
- 로깅 및 모니터링: 사용자 요청을 기록하여 분석이나 감시 목적으로 사용 가능
3. 프록시의 종류
- 포워드 프록시 : 클라이언트 측에 위치, 내부 사용자가 외부로 나갈 때 사용
- 리버스 프록시: 서버 측에 위치, 외부 요청을 내부 여러 서버에 분산 처리
- 오픈 프록시: 누구나 사용할 수 있는 공개된 프록시
- 투명 프록시: 사용자 개입 없이 트래픽을 중간에서 자동으로 가로채 처리
4. 포워드 프록시 vs 리버스 프록시
항목 | 포워드 프록시 | 리버스 프록시 |
---|---|---|
위치 | 클라이언트 앞단 | 서버 앞단 |
사용 목적 | 클라이언트 보호, 필터링, 캐싱 | 로드 밸런싱, 보안 강화, 서버 캐싱 |
예시 | 기업 내부 인터넷 접속 제한 | Nginx로 여러 서버에 요청 분산 |
5. 프록시 사용 예시
- 기업 방화벽
→ 내부 직원의 웹 접근을 제어하고 기록하기 위해 포워드 프록시를 사용한다. - CDN(Content Delivery Network)
→ 리버스 프록시로 동작하며, 사용자가 가까운 서버에서 콘텐츠를 받게 하여 빠른 응답을 유도한다. - VPN 서비스
→ 사용자의 IP를 숨기고, 특정 지역의 서버를 거쳐 요청을 보냄으로써 검열을 우회할 수 있다.
6. 프록시와 NAT의 차이
- 프록시는 애플리케이션 계층(HTTP 등)에서 동작하며 요청/응답 내용을 해석할 수 있다.
- NAT(Network Address Translation)는 IP 계층에서 동작하며 IP 주소 자체를 변환한다.
출처
이미지 : 프록시 서버 - 위키백과
'Deep Dive > CS' 카테고리의 다른 글
[CS] 클라이언트-서버 모델 (Client-Server Model) (0) | 2025.05.06 |
---|---|
[CS] 파일 디스크립터 (file descriptor) (0) | 2025.05.06 |
[CS] HTTP (요청/응답, 헤더, 메소드, 상태코드, HEAD 메소드) (0) | 2025.05.05 |
[CS] OSI 7계층 모델 (0) | 2025.05.04 |
[Deep Dive] 쓰레드와 병렬 프로그래밍 - 4탄 동기화 기법 : 읽기/쓰기 락 (Read-Write Lock) (1) | 2025.05.03 |