프록시(Proxy)와 리버스 프록시(Reverse Proxy)

smlee·2022년 6월 6일
0

Network

목록 보기
1/6

📚프록시(Proxy)

많은 IT 용어들은 영어 단어에서 유래되었다. proxy라는 용어 역시 영어 단어에서 유래했다. proxy의 사전적 의미는

대리, 대리인, 대용물과 같이 무엇인가를 대신이라는 뜻을 가지고 있다.
그럼 이 단어를 IT 쪽에 대입해보자.

프록시(Proxy)는 두 PC가 통신할 때 직접하지 않고 중간에서 대리로 통신을 하는 것을 뜻한다. 쉽게 이해하기 위해 그림으로 나타내면 밑과 같다.

위 그림처럼 두 개의 PC가 프록시를 통해 통신을 하고 있는 것이 보인다. 위처럼 중개인/대리인 역할을 하는 서버를 프록시 서버라고 한다.

위처럼 프록시 서버가 중간 역할을 하면, 클라이언트 입장에서는 프록시 서버가 서버로 보일것이며, 서버 입장에서는 프록시 서버가 클라이언트로 보일것이다.

이러한 프록시의 종류에는 포워드 프록시, 리버스 프록시가 있다.

(1) 포워드 프록시(Forward Proxy)

우리가 일반적으로 프록시라고 말하는 것이 포워드 프록시이다.

포워드 프록시는 서버로 리소스를 요청할 때 직접 요청하지 않고 프록시 서버를 거쳐 요청한다. 이 경우 서버에서 받는 IP는 클라이언트의 IP가 아닌 프록시 서버의 IP이므로 서버는 클라이언트가 누군지 알 수 없다. 즉, 서버에게 클라이언트가 누구인지 감춰주는 역할을 한다.

포워드 프록시의 특징 및 역할

캐싱

첫 번째 요청 이후 동일한 요청이 들어올 경우, 프록시 서버에 캐싱된 내용을 전달해줌으로써 성능을 향상시킨다.

IP 우회

클라이언트 측에서 포워드 프록시 서버를 거쳐 웹 서비스를 이용할 경우, 서버 측에서는 프록시 서버의 IP를 받게 되므로 클라이언트의 정보를 숨길 수 있다.

제한

보안이 중요한 사내망 같은 것에서 정해진 사이트에만 연결할 수 있도록 설정 할 수 있다.

(2) 리버스 프록시 (Reverse Proxy)

리버스 프록시는 이름처럼 포워드 프록시의 반대라고 생각하면 된다.
클라이언트가 서버를 호출할 때 리버스 프록시를 호출하고 프록시 서버가 서버를 요청하여 응답을 클라이언트에게 전달하는 방식이다. 즉, 애플리케이션 서버 앞에 위치하여 클라이언트가 서버를 요청할 때 리버스 프록시를 호출하고, 리버스 프록시가 서버로부터 응답을 전달받아 다시 클라이언트에게 전송하는 것이다.

리버스 프록시는 서버가 누구인지 감추는 역할을 한다. 리버스 프록시의 예시에는 NginX, Apache Web Server가 있다.

리버스 프록시의 특징/역할

로드밸런싱

리버스 프록시 뒤에 여러 개의 WAS를 둠으로써, 사용자의 요청을 분산할 수 있다. 엔드포인트마다 호출 서버를 설정할 수 있어 역할에 따라 서버의 트래픽을 분산할 수도 있다.

보안

서버의 IP 주소를 숨길 수 있어 보안에 좋다.


💻 Reference

What is a Proxy Server? How does it work?
Forward Proxy와 Reverse Proxy의 차이점

0개의 댓글