프록시(Proxy)란?

시훈·2025년 4월 22일

🌐 프록시란 무엇인가?

프록시(Proxy)는 클라이언트와 서버 사이에서 중계 역할을 수행하는 서버이다. 클라이언트가 서버에 직접 요청하지 않고, 프록시 서버를 통해 간접적으로 통신함으로써 보안, 성능, 익명성 등 다양한 이점을 제공한다.

프록시는 크게 포워드 프록시리버스 프록시로 나뉜다.


🧭 포워드 프록시 (Forward Proxy)

포워드 프록시는 클라이언트 앞단에 위치하여 클라이언트가 외부 자원에 접근할 때 중계자 역할을 한다. 주로 기업, 학교, 기관 등에서 내부망 사용자가 외부 웹에 접근할 때 사용된다.

✅ 주요 기능

  • 익명성 제공: 클라이언트의 실제 IP 주소를 서버에 노출시키지 않음
  • 캐싱: 자주 요청되는 리소스를 저장하여 응답 속도 향상 및 대역폭 절감
  • 접근 제어: 특정 사이트에 대한 접근을 제한해 보안 강화 및 정책 적용 가능
  • 감시 및 로깅: 트래픽 감시를 통해 이상 요청을 탐지하거나 기록 가능

✅ 사용 예시

[사용자] ---> [Forward Proxy] ---> [Internet Server]
# curl 명령어에 프록시 설정하기
curl -x http://proxy.company.com:8080 https://example.com

🛡️ 리버스 프록시 (Reverse Proxy)

리버스 프록시는 서버 앞단에 위치하여 클라이언트의 요청을 받아 백엔드 서버로 전달하는 역할을 한다. 클라이언트는 실제 서버의 존재를 알지 못하고 리버스 프록시에게 요청한다.

✅ 주요 기능

  • 로드 밸런싱: 여러 백엔드 서버에 요청을 분산시켜 트래픽 부하를 조절함
  • SSL 종료(Offloading): TLS 인증서를 중앙에서 관리하고 암호화/복호화 부담을 줄임
  • 보안 강화: 백엔드 서버의 IP가 외부에 노출되지 않아 DDoS 등의 공격으로부터 보호
  • 캐싱: 정적 리소스를 캐싱하여 서버 부하를 줄이고 응답 속도를 높임
  • 무중단 배포: 서버별 순차적 업데이트를 통해 중단 없이 배포 가능

✅ 사용 예시

[Client] ---> [Reverse Proxy] ---> [App Server 1, App Server 2, ...]
# NGINX Reverse Proxy 설정 예시
server {
    listen 80;
    location /api/ {
        proxy_pass http://backend-service;
    }
}

🆚 포워드 vs 리버스 프록시

항목포워드 프록시리버스 프록시
위치클라이언트 앞서버 앞
목적클라이언트 보호, 익명성서버 보호, 트래픽 분산
클라이언트 시야실제 서버를 봄실제 서버를 모름
보안 효과사용자의 IP 숨김서버의 IP 숨김

✅ 마무리

프록시는 단순한 네트워크 중계자가 아니다. 다양한 보안, 성능, 운영 측면에서 강력한 도구로 활용된다. 내부 보안을 강화하거나 서버를 보호하고자 한다면 포워드/리버스 프록시의 역할을 잘 이해하고 적절히 설계하는 것이 중요하다.

실제 운영 환경에서는 포워드 프록시는 조직 내부 보안, 리버스 프록시는 서비스 인프라 보호 및 확장성을 위한 수단으로 널리 사용된다.

profile
Backend Developer / Cloud Engineer

0개의 댓글