보내려고 하는 요청을 관리 또는 보안 처리를 위한 용도로 사용하는 서버를 포워드 프록시(Foward Proxy) 서버라고 얘기를 한다. 포워드 프록시 서버의 대표적인 예시로 회사 방화벽이 있다. 회사 내부에 있는 컴퓨터로 ChatGPT에 접속하려는데 차단되는 경우가 있다. 포워드 프록시 서버가 보내려고 하는 요청을 감시하면서 위험하다고 판단되는 사이트에 접속하지 못하게 차단 설정을 한 것이다.
들어오는 요청을 관리 또는 보안 처리를 하기 위한 용도로 사용하는 서버를 리버스 프록시(Reverse Proxy) 서버라고 얘기를 한다. 리버스 프록시 서버의 대표적인 예시가 HTTPS 처리, 요청 수 제한, 로드 밸런싱을 하는 용도로 사용하는 Nginx가 있다. 리버스 프록시 서버가 들어오는 요청의 보안 처리를 하기 위해 HTTPS 처리를 한다. 그리고 들어오는 요청을 감시하다가 일정 요청 수 이상을 보낼 때도 차단을 하게끔 설정할 수 있다. 또한 들어오는 요청을 여러 대의 서버로 분배해주는 역할인 로드밸런싱 기능을 하게끔 셋팅할 수 있다.
✅ 리버스 프록시(Reverse Proxy)는 왜 활용할까?
들어오는 요청을 관리 또는 보안 처리를 하기 위해 사용한다. 만약 리버스 프록시 서버를 사용하지 않고 직접적으로 들어오는 요청을 백엔드 서버가 바로 받아 처리하는 식으로 구성하면 보안적으로 문제되는 경우가 많다. 가장 대표적인 예시로 누군가가 악의적으로 수많은 요청을 갑자기 보내는 경우, 실제 백엔드 서버가 그 요청을 다 받아서 처리하려고 하기 때문에 과부하가 걸려 서버 장애가 발생한다.
지금부터 Nginx의 리버스 프록시 기능을 활용해 Spring Boot 서버를 배포해보자.