프록시

기술노트
Admin (토론 | 기여)님의 2025년 9월 6일 (토) 05:05 판 (Gemini 벌크 업로더로 자동 업로드)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

🛂 프록시 (Proxy)

프록시는 클라이언트와 서버 사이의 통신을 대리(Proxy)하는 서버입니다. 클라이언트는 프록시 서버에 요청을 보내고, 프록시 서버는 그 요청을 받아 실제 서버에 전달한 후, 서버로부터 받은 응답을 다시 클라이언트에게 전달해주는 중개자 역할을 합니다.

프록시는 목적과 위치에 따라 포워드 프록시와 리버스 프록시로 나뉩니다.


👉 포워드 프록시 (Forward Proxy)

포워드 프록시는 클라이언트 가까이에 위치하며, 클라이언트의 요청을 대신 처리합니다. 주로 내부 네트워크에 있는 클라이언트들이 인터넷에 접근할 때 사용됩니다.

  • 주요 목적 :

> * 캐싱 (Caching): 자주 요청되는 콘텐츠를 프록시 서버에 저장해두었다가, 다음 요청 시 실제 서버까지 가지 않고 즉시 응답하여 속도를 향상시킵니다. > * 보안 및 접근 제어: 내부 네트워크의 클라이언트들이 특정 사이트에 접근하지 못하도록 막거나, IP 주소를 숨겨 익명성을 제공합니다.


👈 리버스 프록시 (Reverse Proxy)

리버스 프록시는 서버 가까이에 위치하며, 외부 클라이언트들의 요청을 대신 받아 내부 서버로 전달합니다. 클라이언트는 실제 서버의 주소를 알지 못하며, 오직 리버스 프록시 서버와 통신합니다.

  • 주요 목적 :

> * 로드 밸런싱 (Load Balancing): 여러 대의 내부 서버에 요청을 분산시켜 부하를 줄입니다. > * 보안: 실제 서버의 IP 주소를 외부에 숨기고, SSL/TLS 암호화 처리를 대신 수행하여 보안을 강화합니다. > * 캐싱 (Caching): 정적 콘텐츠를 캐싱하여 내부 서버의 부하를 줄입니다.


💡 개발자 핵심 Point

  • 개발자가 주로 다루게 되는 것은 리버스 프록시입니다. 웹 서버(Nginx, Apache 등)를 리버스 프록시로 사용하여, 여러 대의 WAS(Web Application Server) 앞에 두고 로드 밸런싱 및 보안 계층으로 활용하는 것은 매우 일반적인 아키텍처입니다.
  • Nginx는 뛰어난 성능과 다양한 기능 덕분에 리버스 프록시 서버로 가장 널리 사용됩니다.
  • 프록시 서버는 시스템의 성능, 보안, 안정성을 높이는 데 중요한 역할을 하므로, 동작 원리를 잘 이해하는 것이 중요합니다.