프록시(Proxy)는 클라이언트와 서버 사이에 위치하는 중간 서버로,
클라이언트의 요청을 서버에 대신 전달하고, 서버의 응답을 클라이언트에 다시 전달
직접 서버에 접근하지 않고, 프록시 서버를 경유함으로써 다음과 같은 효과를 얻을 수 있음

동작 과정
클라이언트 → 프록시 서버 → 인터넷 서버
주요 기능

역방향 프록시 동작 방식
클라이언트 → (직접 연결) → 웹 서버
클라이언트가 직접 웹 서버에 연결해서 응답을 받음
서버의 IP와 위치를 클라이언트가 알 수 있음
클라이언트 → 역방향 프록시 → 웹 서버
클라이언트는 실제 서버와 직접 통신할 일이 없음
필요성
| 이유 | 설명 |
|---|---|
| 보안 | 내부 서버 IP와 네트워크 구조 노출 방지 |
| 로드밸런싱 | 여러 대 서버로 트래픽 분산 |
| 캐싱 | 자주 쓰는 콘텐츠는 프록시가 캐싱해서 빠르게 응답 |
| SSL 암복호화 처리 | 클라이언트와 SSL 연결은 프록시가 하고, 내부 서버는 HTTP로 통신 |
| DDoS 방어 | 공격을 프록시가 먼저 받아내서 서버 보호 |
| 기능 | 설명 |
|---|---|
| 접근 통제 | 특정 사이트 접속 차단, IP 필터링, 인증 절차 |
| 캐싱 | 자주 요청되는 콘텐츠 저장 후 재사용하여 트래픽 절감 |
| 익명성 | 사용자의 원 IP 숨기고, 프록시 서버의 IP로 대체 |
| 트래픽 모니터링 | 사용자의 접속 로그와 트래픽 분석 |
| 로드밸런싱 | 다수의 서버에 트래픽 분산 (역방향 프록시) |
| 구분 | 프록시 (Proxy) | VPN (Virtual Private Network) |
|---|---|---|
| 동작 위치 | 애플리케이션 또는 네트워크 설정 | 운영체제 전체 또는 라우터 |
| 트래픽 암호화 | 기본 없음 (HTTPS 프록시 제외) | 전체 트래픽 암호화 |
| 적용 범위 | 특정 프로그램이나 브라우저 트래픽만 | 전체 디바이스 트래픽 |
| 익명성 수준 | 중간 IP 우회 (부분적인 익명성) | 원 IP 완전 숨김 가능 |
| 사용 목적 | 콘텐츠 필터링, 캐싱, IP 우회 | 보안 통신, 검열 우회, 개인정보 보호 |
| 대표 사용처 | 회사, 학교, CDN, 캐시 서버 | 원격근무, 민감정보 보호, 검열 회피 |
| 상황 | 이유 |
|---|---|
| 회사/학교 네트워크 관리 | 직원/학생의 인터넷 사용을 통제하고 사용 로그 기록 |
| CDN 서비스 (Cloudflare, Akamai) | 콘텐츠 캐싱, 서버 앞단 보호, DDoS 공격 방어 |
| 보안 테스트 환경 | 웹 트래픽을 가로채고 분석하여 보안 취약점 점검 |
| 웹 캐시 서버 | 자주 요청되는 콘텐츠를 미리 저장해 네트워크 트래픽 감소 |
| 국가 검열 시스템 | 특정 사이트 접속 차단 및 접속 내역 기록 |
서버 운영자는 트래픽 출처를 정확히 확인하기 위해 X-Forwarded-For 헤더나 Real IP 헤더를 활용해 원래 클라이언트 IP를 추적
동작 순서
socket())bind())listen())accept())read())write())close())용도
주요 특징
동작 순서
socket())bind())listen())accept())read())close())목적
주로 접속하는 서버
주요 서버 종류 정리
| 서버 이름 | 설명 |
|---|---|
| 웹 서버 (Web Server) | HTML, 이미지 같은 정적 콘텐츠 또는 API 응답을 제공하는 서버 |
| 애플리케이션 서버 (Application Server) | 서버 내부에서 프로그램을 실행해서 동적인 데이터를 만들어주는 서버 |
| DB 서버 (Database Server) | 데이터베이스를 운영하면서 데이터를 저장하고 조회해주는 서버 |
| 프록시 서버 (Proxy Server) | 중간에서 통신을 중계하거나 우회하는 서버 |
| 리버스 프록시 서버 (Reverse Proxy Server) | 외부 요청을 받아서 실제 웹 서버로 연결해주는 중계 서버 |
| DNS 서버 | 도메인 이름 → IP 주소로 변환해주는 서버 |
실제 웹사이트 접속 시 동작 예시
도메인 주소 → IP 주소 변환