ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Forward proxy, Reverse proxy
    Note 2021. 4. 15. 20:59

    proxy

    프록시(proxy)는 대신, 대리라는 뜻을 가지고 있다. 프로토콜에 있어 대리 응답에서 사용하는 개념이다. 보안 등의 이유로 직접 통신을 주고받을 수 없을 때 프록시를 이용하여 중계하는 개념이다.

     

    이렇게 중계 기능을 하는 것을 프록시 서버라고 부른다.

    출처: 위키백과

     

    프록시 서버 중 일부는 프록시 서버에 요청된 내용들을 캐시를 이용하여 저장해 둔다. 이렇게 캐시를 해 두고 난 후에, 캐시 안에 있는 정보를 요구하는 요청에 대해서는 원격 서버에 접속하여 데이터를 가져올 필요가 없게 됨으로써 전송 시간을 절약할 수 있게 됨과 동시에 불필요하게 외부와의 연결을 하지 않아도 된다는 장점을 갖게 된다. 또한 외부와의 트래픽을 줄이게 됨으로써 네트워크 병목 현상을 방지하는 효과도 얻을 수 있게 된다.

     

    프록시 서버는 서버의 위치에 따라 Forward, reverse proxy로 나누어진다.

     

    Forward proxy(포워드 프록시)

    그림으로 보면 내부망에서 외부망으로 데이터가 전달되는 걸 볼 수가 있다. 특정 사이트를 가려고 할 때, 목적지 사이트의 주소를 프록시로 전달하면 프록시 서버가 해당 목적지 사이트의 내용을 받아와서 전달해주는 개념이다. 말 그대로 대신 처리해주는 것이다.

     

    출처: 포워드 프록시(forward proxy) 리버스 프록시(reverse proxy) 의 차이 / System Administrator

     

    포워드 프록시는 대게 캐시 기능이 있으므로 자주 사용되는 컨텐츠라면 월등한 성능 향상을 가져올 수 있고 정해진 사이트만 연결하게 설정하는 등에 웹 사용 환경을 제한할 수 있으므로 기업 환경에서 많이 사용된다.

     

    Reverse proxy(리버스 프록시)

    사용자가 리버스 프록시로 설정된 서버의 주소로 데이터를 요청하게 되면, 서버가 이 요청을 받아서 내부 서버에서 데이터를 받아와서 클라이언트에 전달해주는 개념이다.

     

    내부 서버가 직접 서비스를 제공해도 되지만 이렇게 구성하는 이유 중 하나는 보안 때문이다.

     

    출처: 포워드 프록시(forward proxy) 리버스 프록시(reverse proxy) 의 차이 / System Administrator

     

    보통 기업의 네트워크 환경은 DMZ라고 하는 내부 네트워크와 외부 네트워크 사이에 위치하는 구간이 존재한다. 이 구간에는 메일 서버, 웹 서버, FTP 서버 등 외부 서비스를 제공하는 서버가 위치하고 있다.

     

    기업이 서비스를 만들어서 WAS(Web Application Server)을 DMZ에 놓고 사용하면, WAS 서버가 털리면 DB도 같이 털리는 문제가 발생할 수 있다. 이러한 이유 때문에 리버스 프록시를 두고 실제 서비스는 내부에 위치 시키고 프록시 서버가 내부 서버와 통신하여 데이터를 받아오는 방식을 사용하고 있다.

    'Note' 카테고리의 다른 글

    프론트엔드 개발자가 신경 써야 할 보안  (0) 2021.04.18
    CI/CD  (0) 2021.04.17
    CDN(Contents Delivery Network)  (0) 2021.04.14
    Lazy Loading  (0) 2021.04.13
    JSONP  (0) 2021.04.12

    댓글