-->

[네트워크] 프록시 서버란? 원리와 사용 목적

프록시(Proxy) 서버란?

프록시 서버란 클라이언트가 자신을 거쳐 다른 네트워크에 접속할 수 있도록 중간에서 대리해주는 서버를 말한다. 서버와 클라이언트 사이에서 대리로 통신을 수행해주는 것을 프록시라고 하고 그 기능을 하는 서버를 프록시 서버라 부르게 되는 것이다.

 

프록시 서버 (출처: 구글 무료이미지 검색, 위키피디아)

 

즉, 프록시 서버는 서버와 클라이언트 사이에서 요청과 응답을 처리해주게 되는 것이다.

  1. 클라이언트에서 프록시 서버로 데이터 전송

  2. 프록시 서버에서 다시 웹 서버로 웹 요청

  3. 웹 서버에서 프록시 서버로 웹 응답

  4. 프록시 서버에서 클라이언트로 데이터 전송

 

버프스위트, 파로스, 피들러와 같은 웹 프록시 툴을 사용해본 사람이라면 아마 대부분 웹 요청이나 응답 값을 중간에 가로채기 위해서 사용했을 것이다. 해당 툴에서 사용하는 웹 프록시 서버 주소와 포트 설정을 해주면 브라우저에서 보낸 웹 요청이 프록시 서버를 경유하게되기 때문에 중간에 패킷을 가로챌 수 있게 되는 것이다.

 

예를들어 버프스위트 툴의 경우 아래와 같이 프록시 서버 포트로 8080포트를 사용한다.

 

 

그리고 브라우저(클라이언트)에서 해당 주소(localhost)와 8080 포트를 설정해주게 되면 브라우저에서 보내는 패킷은 전부 8080 포트를 경유하게 되기 때문에 원래 서버로 가야 할 패킷을 중간에 가로챌 수 있게 되는 것이다.

 

 

 

프록시 서버의 사용 목적(이유)

프록시 서버를 사용하는 목적과 이유에는 여러가지가 있을 수 있는데 대표적으로 아래와 같은 것들이 있다.

 

첫번째는 캐시 데이터를 사용하기 위함이다. 프록시 서버 중 일부는 프록시 서버에 요청된 내용을 캐시를 사용해 저장해둔다. 그러면 캐시에 저장되어있는 내용에 대한 재요청은 서버에 따로 접속할 필요가 없이 저장된 내용을 그대로 돌려주면 되기 때무네 전송 시간을 절약할 수 있고 외부 트래픽을 줄임으로써 네트워크 병목 현상도 방지할 수 있다.

 

두번째는 보안 목적이다. 프록시 서버가 중간에 경유되게 되면 IP를 숨기는 것이 가능하기 때문이다. 또한 프록시 서버를 방화벽으로 사용하기도 한다(프록시 방화벽).

 

프록시 방화벽 (출처: 구글 무료이미지 검색)

 

 

세번째는 접속 우회이다. 간혹 한국에서는 접속이 제한이 되는 사이트가 있다. IP를 검사해 한국에서의 접속임을 감지하기 때문인데 이런 경우 프록시 서버를 사용하면 접속을 다른나라로 우회할 수 있게 된다. 우회에 사용할 서버 주소와 포트를 구한 후 '인터넷옵션>연결>LAN설정>프록시서버'에서 서버 주소와 포트를 설정해주면 설정해준 서버에서 접속한 것처럼 속일 수 있기 때문에 접속 제한을 우회할 수 있다.

 

참고자료
[1] 위키백과, 프록시 서버
[2] 안경잡이개발자, 웹 프록시 (Proxy)의 개념과 도구 (SwitchyOmega)

 

댓글

Designed by JB FACTORY