[해키피디아] Proxy Server

프록시 서버는 proxy라는 단어가 ‘대리자’라는 뜻을 가지고 있다시피, 무언가를 대신 해주는 대리자 서버입니다. 서비스 제공을 원하는 클라이언트와 서비스 제공을 하는 서버측의 중간에 끼어서 중계자 역할을 합니다.

프록시 서버의 존재 이유

왜 직접 통신을 하지않고 굳이 프록시 서버를 경유할까요?

첫 번째 이유는 보안에 있습니다. 프록시 서버를 이용하면 보안상 직접 통신이 불가능 하더라도 프록시 서버의 대리 통신을 통해 통신이 가능하게 됩니다. 또한, 서버 입장에서는 불필요한 외부의 액세스 없이 프록시 서버에 대한 액세스만 신경쓰면 되기때문에 집중적으로 관리하기가 편해집니다.

두 번째 이유는 효율이 높기 때문입니다. 프록시 서버의 캐시 기능을 이용해 요청된 내용들을 저장해 놓는다면 다시 클라이언트가 해당 데이터를 필요하게 된다면 서버에 요청을 보낼 필요 없이 프록시 서버에서 바로 처리해 전송할 수 있기 때문에 서버에 대한 부담이 적고 더욱 빠르게 전송할 수 있습니다.

프록시 서버의 종류

프록시 서버는 크게 2가지, 포워드 프록시와 리버스 프록시가 존재합니다.

포워드 프록시는 클라이언트가 서버에 무언가 요청할 때 프록시 서버를 통해 요청하고 프록시 서버는 인터넷에 있는 서버에 이를 전달해주는 방식입니다. 즉, 클라이언트가 내부망에 있는 프록시 서버를 호출하여 사용하는 것이 포워드 프록시 입니다.

이 방식은 인터네 상에 있는 서버가 받는 요청자의 ip주소는 프록시 서버의 ip주소가 되기 때문에 서버에게 클라이언트의 정체를 감추는 역할을 합니다. 이 방식은 악성 코드 유포등과 같은 불법적인 일에 이용될수 있기 때문에 대부분 프론트 프록시는 검출하여 차단하고 있습니다.

리버스 프록시는 인터넷 상에 있는 클라이언트가 무언가를 요청할 때 서버에 이를 전달해주고 응답을 받아가는 방식입니다. 즉, 프록시 서버가 내부망에 있는 서비스 서버를 호출하는 방식이 리버스 프록시 입니다.

리버스 프록시 방식은 포워드 프록시와는 반대로 내부망에 있는 서비스 서버를 호출하여 사용하기 때문에 서비스 서버의 ip주소를 감춰주는 역할을 합니다.