Proxy server - 프록시 서버란? ( Forward vs Reverse )
1. Proxy server란?
: Proxy는 '대신'이라는 의미를 가지고 있고, 서버와 클라이언트 사이에서 중계기능을 하는 서버가 프록시 서버이다.
보안상의 문제로 시스템이 방화벽을 가지고 있거나, 직접 통신이 어려운 경우 대리로 통신을 수행하는 기능을 Proxy, 그 기능을 하는 것이 Proxy 서버 라고 정의할 수 있다.
2. Proxy server 사용이유
1) 대리로 통신을 수행해주기 때문에 보안 상의 이유로
2) 시간 절약 : 프록시는 프록시 서버에 요청된 내용들을 캐시에 저장해놓기 때문에 동일한 요청 시 시간 및 리소스 사용을 절약할 수 있다.
3) 트래픽 분산 : 로드 밸런싱 기능을 재공해서 여러대의 분산된 서버에 트래픽에 분산시켜 주기도 한다.
3. Forward Proxy
: 일반적인 프록시 방법으로, 클라이언트가 서버를 직접요청하는 것이 아니고 프록시 서버로 요청을하면, 프록시 서버가 직접 웹에 요청을 보낸 후 서버에 요청해서 응답을 받아오는 방법.
정적인 데이터를 캐싱하여 성능 향상
에 도움이 되고,
정해진 대역폭에서만 연결이 가능하도록 웹 사용을 제한할 수 있어서 기업에서 많이 사용한다.
( 망 내에서 외부로의 서비스 )
4. Reverse Proxy
: 클라이언트가 웹에 요청을 하면 Reverse Proxy가 요청을 맏아 서버에서 응답을 받은 후 데이터를 클라이언트에 전달하는 방법
하나의 프록시 서버로 다수의 서버 요청을 처리 할 수 있다. 즉, 서버가 다운되면 로드밸런싱
역할을 한다.
외부에서 내부로 들어오는 요청을 차단해서 DB등 내부 보안
방어 역할을 한다.
( 외부 망에서 내부 망으로의 서비스 )
프로젝트를 나갔을때 DMZ영역이나, HAProxy 사용을 해보았는데 이게 Reverse Proxy였다.