리버스 프록시는 클라이언트와 서버 간의 통신 중간에 위치하여 클라이언트의 요청을 대신 받아 백엔드 서버(들)에 전달하고, 해당 서버의 응답을 다시 클라이언트에 전달하는 역할을 한다. 이를 통해 부하 분산, 보안, 캐싱 등 다양한 기능을 제공할 수 있다.
리버스 프록시의 주요 기능과 이점
1 로드 밸런싱: 여러 백엔드 서버에 대한 트래픽을 분산시켜 각 서버에 부하를 줄일 수 있다.
2 보안 및 익명성: 리버스 프록시는 외부에 공개된 유일한 서버가 되어, 내부 백엔드 서버의 정보를 숨길 수 있다.
3 SSL/TLS 종료: 리버스 프록시에서 SSL/TLS 핸드쉐이크를 처리함으로써 백엔드 서버의 부하를 줄일 수 있다.
4 캐싱: 리버스 프록시에서 자주 사용되는 리소스를 캐시하여 빠르게 제공할 수 있어 백엔드 서버의 부하와 응답 시간을 줄일 수 있다.
5 압축: 리버스 프록시를 사용하여 데이터를 압축하여 트래픽 사용량을 줄일 수 있다.
6 글로벌 서버 부하 분산: 지리적으로 분산된 서버를 사용하여 사용자에게 더 빠른 응답 시간을 제공할 수 있다.
대표적인 리버스 프록시 소프트웨어로는 Nginx, Apache HTTP Server (mod_proxy 또는 mod_proxy_balancer 모듈 사용), HAProxy, Squid 등이 있다.