Proxy server - forward vs reverse

Jisu·2024년 1월 6일
0

Techs

목록 보기
4/8

배경

최근 CloudFlare에 대해서 공부하면서 reverse-proxy를 접하게 되었다. 이전에는 proxy 서버가 캐싱 처리와 같은 중간 역할을 하는 것 정도만 알았기에 이번 기회에 forward proxy와 비교해서 정리해보고자 한다.


Forward Proxy

정방향 프록시 서버는 클라이언트의 바로 뒷단에 위치한다. 브라우저는 원본 서버 URL에 바로 요청을 하는게 아니라, 프록시 서버의 IP로 요청하고, 프록시 서버는 그 요청을 최종 원본 서버에 전달한다. 요청을 중간에서 송,수신하면서 자연히 캐싱도 담당하게 된다. 이를 통해 대표적으로 2가지 이점을 얻는다.

  1. 클라이언트는 캐싱 기능을 통해 더 빠른 응답을 받는다.
  2. 원본 서버의 네트워크 사용량이 줄어든다.

추가로 원본 서버에서는 정방향 프록시 서버 IP로 인식하기 때문에 최종 원본 서버는 클라이언트가 누군지 알 수 없다. 클라이언트의 신원을 숨기면서 서버와 통신을 할 수 있게 해준다!

그림을 보면 최종적으로 인터넷을 통해 트래픽이 원본 서버에 전달된다.


Reverse Proxy

역방향 프록시는 원본 서버의 앞단에 위치한다. 이 말은 즉슨, 클라이언트가 원본 서버의 IP를 알지 못하고 리버스 프록시와 통신하는 것이다.

리버스 프록시 서버가 최종 원본 서버와 직접 통신하기 때문에 대표적으로 두 가지 장점이 있다.

  1. 최종 웹 애플리케이션으로 전달되는 트래픽을 분산할 수 있다. (로드밸런싱)
  2. 원본 서버의 IP를 막을 수 있어 DDoS 공격을 방지할 수 있다.

그림을 보면 클라이언트 요청이 인터넷을 통해 리버스 프록시로 전달되고 리버스 프록시 서버와 원본 서버가 직접 통신을 하게 되므로 인터넷에 노출되지 않는 다는 장점이 있다.

Reference

forward, reverse proxy 관련 블로그 글
CloudFlare 공식 문서

profile
비즈니스에 관심많은 DevOps Engineer 장지수입니다.

0개의 댓글