Reverse Proxy
A reverse proxy is a server that sits in front of one or more web servers, intercepting requests from clients and forwarding them to the appropriate backend ser...
Reverse proxy는 하나 이상의 웹 서버 앞에 위치하여 클라이언트의 요청을 가로채는 서버입니다. 클라이언트가 웹 서버에 직접 연결하는 대신, Reverse proxy에 연결합니다. Reverse proxy는 클라이언트의 요청을 적절한 웹 서버로 전달합니다. 웹 서버의 응답은 Reverse proxy로 다시 전송되며, Reverse proxy는 이를 클라이언트에게 전달합니다. 이 설정은 여러 이점을 제공합니다. 첫째, origin 웹 서버의 신원과 특성을 숨겨 직접적인 공격으로부터 보호막 역할을 함으로써 보안을 강화합니다. 둘째, 정적 콘텐츠 캐싱, 단일 서버의 과부하를 방지하기 위한 여러 백엔드 서버에 대한 요청 로드 밸런싱, 웹 서버에서 계산 집약적인 작업을 오프로드하는 SSL 암호화/복호화를 통해 성능을 향상시킬 수 있습니다. 셋째, 중앙 집중식 로깅, URL 재작성 및 여러 서비스에 대한 단일 액세스 지점 구현을 허용하여 웹 애플리케이션 관리를 용이하게 합니다. Reverse proxy는 현대 웹 인프라에서 확장성, 보안 및 안정성에 기여하는 필수 구성 요소입니다.
graph LR
Center["Reverse Proxy"]:::main
Rel_nginx["nginx"]:::related -.-> Center
click Rel_nginx "/terms/nginx"
Rel_api_gateway["api-gateway"]:::related -.-> Center
click Rel_api_gateway "/terms/api-gateway"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧠 지식 테스트
🧒 5살도 이해할 수 있게 설명
큰 사무실 건물의 접수원을 상상해 보세요. 모든 사람이 여러 사무실로 직접 가는 대신, 먼저 접수원과 대화하고, 접수원은 올바른 장소로 안내하고 일부 기본 작업을 처리하여 사무실이 원활하고 안전하게 운영되도록 합니다.
🤓 Expert Deep Dive
Reverse proxies operate at the application layer (Layer 7) of the OSI model, enabling sophisticated traffic management based on HTTP headers, URLs, and other application-level data. Key functionalities include load balancing algorithms (e.g., round-robin, least connections, IP hash), SSL termination/offloading, request/response manipulation (e.g., header injection/stripping, URL rewriting), caching strategies (e.g., HTTP caching, object caching), and security enforcement (e.g., WAF integration, rate limiting). Architecturally, they can be deployed as standalone appliances, software (like Nginx, HAProxy, Apache httpd), or integrated into cloud provider services (e.g., AWS ELB, Azure Application Gateway). The choice of implementation involves trade-offs between performance, flexibility, cost, and operational complexity. Potential bottlenecks can arise if the reverse proxy itself becomes overwhelmed, necessitating horizontal scaling or performance tuning. Advanced configurations might involve multiple layers of reverse proxies for complex routing or security policies.