-
Forward Proxy vs Reverse ProxyEtc/WEB 2021. 10. 16. 13:30728x90
Proxy란?
- 서버와 클라이언트 사이의 중계기로써 대리로 통신을 수행 해 주는 것을 프록시라 한다. 프록시 서버는 클라이언트를 다른 네트워크 서비스에 간접적으로 접속시켜주는 컴퓨터 시스템이나 응용 프로그램을 의미한다.
- 프록시는 캐싱기능도 수행할 수 있다.
Forward Proxy란?
- 클라이언트가 서버로 요청을 할 때, 직접 서버로 요청을 하는 것이 아닌 포워드 프록시 서버로 요청을 보내는 방식이다.
- 한 예시로, 회사 내부 인트라넷 망에서, 외부 네트워크의 서버를 호출할 때 클라이언트는 먼저 프록시 서버를 요청하게 된다.
- 서버로부터 클라이언트가 누구인지 감추는 역할을 해 준다. 즉, 서버에게 전달되는 IP는 포워드 프록시 서버의 IP이므로 클라이언트가 누구인지를 알 수 없다.
Reverse Proxy란?
- 클라이언트가 서버를 호출할 때 리버스 프록시를 호출하게 되고, 프록시 서버가 타겟 서버에 request를 보내서 받은 response를 클라이언트에게 전달하게 된다.
- 이 방식은 내부 인트라넷의 서버를 호출하기 위해서 외부 인터넷 망의 클라이언트가 리버스 프록시 서버에 요청해서 응답을 받는 방식이다.
- 리버스 프록시는 포워드 프록시와 반대로, 클라이언트로부터 서버가 누구인지를 감추는 역할을 한다. 즉, 클라이언트는 리버스 프록시의 IP주소만을 갖고 있기 때문에, 실제 request를 처리하는 서버의 IP를 알 수 없다.
프록시 서버를 운영했을 때의 장점
- 보안적인 측면에서 장점이 있다. 클라이언트나 서버의 IP를 숨김으로써 해킹의 위험을 방지할 수 있다.
- 캐싱을 통해 성능을 향상시킬 수 있다. 프록시 서버를 활용하여 클라이언트의 request에 대해 캐싱을 수행함으로써 타겟 서버로 request를 보내지 않고 기존에 가지고 있던 data를 클라이언트에게 빠르게 전달할 수 있다.
- 트래픽 분산의 기능도 할 수 있다. 프록시 서버가 다량의 request를 받으면, 여러 대의 서버로 트래픽을 분산시킴으로써 효율적으로 서버를 운용할 수 있다.
'Etc > WEB' 카테고리의 다른 글
CDN(Content Delievery Network)란 (0) 2021.10.16 서버사이드 렌더링(SSR) vs 클라이언트사이드 렌더링(CSR) (0) 2021.09.19 Base64 인코딩이란 (0) 2021.09.11 window객체와 document 객체, BOM, DOM (0) 2021.09.02 CI/CD란 (0) 2021.08.31