Nginx 가 “Reverse” Proxy 로 불리는 이유

은기·2023년 4월 5일
0

Nginx 가 “Reverse” Proxy 로 불리는 이유

Proxy 의 종류로 정방향 프록시(Forward)와 역방향 프록시(Reverse) 가 존재한다.

이 글은 각 프록시 종류에 대한 개념을 정리하여 왜 Nginx 웹 서버가 Reverse Proxy 서버라고 불리고 있는 지 알아보려고 한다.

💡 사진 자료는 참고 자료 내 게시글 자료를 활용하였다.

Forward Proxy(정방향)

정방향 프록시 서버는 클라이언트의 요청을 가로채서 클라이언트를 대신하여 적절한 서버로 전달한다.

이 과정을 통해 클라이언트의 신원과 위치를 숨기고, IP 주소를 변환 및 마스킹하여 서버로부터 알 수 없는 트래픽을 차단하고 서버의 응답을 다시 포워드 프록시 서버로 전달하여 클라이언트로 재전송한다.

주로 다음과 같은 목적으로 사용된다.

  • 브라우저 제한 우회
  • 주요한 컨텐츠 접근 방지
  • 클라이언트의 온라인 식별 방지

일반적으로 찾아볼 수 있는 예로는 토르 브라우저가 있겠다.

Reverse Proxy(역방향)

리버스 프록시 서버는 클라이언트를 보호하는 정방향 프록시와 달리, 서버를 보호하는 목적으로 활용된다.

역방향 프록시 서버를 통해 클라이언트 요청을 직접 처리하지 않고 배후의 서버에 대한 게이트웨이 역할을 수행하여 실질적으로 요청을 직접 처리하는 서버가 인터넷에 노출되지 않고 클라이언트의 요청을 수신할 수 있도록 한다.

💡 게이트웨이: 서로 다른 종단 간 통신을 가능하게 해주는 인터페이스

예를 들어보자.

우리가 크롬 브라우저에서 직접적으로 서버에 요청하였을 때, 해당 서버에 대한 주소 등등이 리버스 프록시 서버로 표기되어 실제로 직접 처리를 수행하는 서버는 숨겨지게 된다.

이러한 보호 목적 외에도, WAS 의 게이트웨이 역할을 수행하는 웹 서버 즉 Nginx 에서 요청 및 응답 데이터를 캐싱하여 실제로 WAS 에서 처리해야 할 트래픽을 최소화 시킬 수 있다.

또한 Nginx 의 기능 중 하나인 SSL 인증을 직접 Nginx 에서 처리하여 WAS 에서의 부담을 줄일 수 있다.

References

Why is Nginx called a “reverse” proxy?

GNUJAVA

profile
T자형 학습을 진행 중인 예비 백엔드

0개의 댓글