리버스 프록시란 클라이언트의 요청을 대신 받아서 내부 서버로 전달하고, 응답을 다시 클라이언트에게 돌려주는서버이다. 클라이언트는 실제 서버가 어디 있는지 알 수 없다.
장점
✔️ 보안 : 실제 서버 포트(8080 등)를 외부에 숨겨, 직접 공격을 차단 한다. ✔️ SSL 처리 : HTTPS 인증서를 여기서 한 번만 처리하여, 내부 서버는 그냥 HTTP로 통신한다. ✔️ 로드밸런싱 : 서버가 여러 대일 때 요청을 골고루 분산하여, 트래픽이 폭발해도 죽지 않는다.
요청 흐름
클라이언트 입장에선 프록시 주소 하나만 알면 되고, 뒤에서 어떤 서버가 몇 대 돌아가는지는 몰라도 된다.
정리
즉, 리버스 프록시 서버는 다음과 같은 상황에서 쓴다
✔️ 서버를 외부에 직접 노출하기 싫을 때 ✔️ 도메인 하나로 여러 서비스를 운영할 때 ✔️ HTTPS 인증서 관리를 한 곳에서 처리하고 싶을 때 ✔️ 트래픽이 많아져서 서버를 여러 대로 늘릴 때
💡 nginx, Apache 같은 리버스 프록시 소프트웨어는 Linux, macOS, Windows 모두 동작하며, OS 종속 개념이 아닌 아키텍처 패턴이다. 다만, 실 서버는 거의 Linux 위에서 운영되기 때문에 Linux 환경에서 주로 접하게 된다.