• Proxy server 왜 사용하는가? :: 마이구미
    HTTP 2017. 4. 7. 18:02
    반응형

    이번 글은 Proxy server(프록시 서버) 의 What, Why, How 대해 다뤄본다.

    HTTP 완벽 가이드 서적을 참고하여 작성했다.


    프록시 서버는 한 단어로 표현하고자 한다면, 중개자라고 표현할 수 있다.

    클라이언트와 서버 사이에 위치하여 HTTP 메시지를 정리하는 중개인처럼 동작한다.


    프록시 흐름


    클라이언트에서 볼 때 서버처럼 동작하면서 요청 메시지를 받고 응답 메시지를 돌려준다.

    서버에서 볼 때 클라이언트처럼 동작하면서 웹 요청 메시지를 보내고 응답 메시지를 받는다.

    얘기하고자하는 것은, 프록시는 서버이면서 동시에 클라이언트여야 한다.


    그렇다면 왜 프록시를 사용하는가?

    프록시 서버는 실용적이고 유용한 것이라면 무슨 일이든 한다.

    보안을 개선하고, 성능을 높여주며, 비용을 절약한다.

    또한 중개인처럼 동작하기 때문에 모든 HTTP 트래픽을 제어할 수 있다.

    • 어린이 필터
    • 문서 접근 제어자
    • 보안 방화벽
    • 웹 캐시
    • 대리 프록시
    • 콘텐츠 라우터
    • 트랜스 코더
    • 익명화 프록시

    어린이 필터

    일반적으로 성인 콘텐츠 차단이라고 생각하면 된다.

    클라이언트와 서버 사이에 있는 중개인으로써 부적절한 사이트의 접근을 강제로 거부할 수 있다.


    문서 접근 제어자

    프록시 서버는 많은 웹 서버들과 웹 리소스에 대한 단일한 접근 제어 전략을 구현하고 감사 추적을 하기 위해 사용될 수 있다.

    이것은 대기업 환경이나 분산된 관료 조직에서 유용하다.

    각기 다른 조직에서 관리되는 다양한 종류의 수많은 웹 서버들에 대한 접근 제어를 수시로 갱신할 필요 없이, 중앙 프록시 서버에서 접근 제어를 설정할 수 있다.

    이 경우 똑똑한 사용자들은 고의적으로 제어 프록시를 피해갈 수 있기에, 서버가 고정적으로 프록시 서버로부터의 요청만 받아들이도록 설정할 수 있다.


    웹 캐시

    프록시 캐시는 인기 있는 문서의 로컬 사본을 관리하고 해당 문서에 대한 요청이 오면 빠르게 제공한다.

    이것이 일반적으로 알려져 있는 CDN 서버로 활용할 수 있다.

    프록시 서버의 예로 CDN 서버를 들 수 있다.

    자세한 건 CDN에 대해 본인이 다룬 글이 있으니 참고하길 바란다. CDN vs Cache


    대리 프록시

    일반적으로 리버스 프록시라고 불린다.

    사용자들은 서버에 요청을 하면 리버스 프록시 서버가 요청을 받는다.

    그렇기에, 사용자에게는 리버스 프록시 서버가 단순히 웹 서버로 생각한다. (사용자는 웹 서버의 정보를 알지 못한다)

    하지만 리버스 프록시는 웹 서버나 다른 프록시 서버와 요청하게 된다.

    그렇기에 부하 경감을 위한 분산 네트워크(로드 밸런싱)와 웹 서버의 보안을 위해  사용된다.


    포워드 프록시와 리버스 프록시를 비교하자면, 사용자가 실서버의 정보를 알고 있는지에 대한 여부이다.

    포워드 프록시는 클라이언트에서 요청 시 실 서버의 주소를 프록시 서버에 전달하여 프록시 서버가 실 서버에 요청하여 데이터를 가져온다.

    리버스 프록시는 클라이언트에서 요청 시 리버스 프록시 서버가 요청을 받아 배후의 서버에 데이터를 가져온다.

    * 리버스는 거꾸로라는 뜻이 아닌 배후의 뜻으로 해석하면 이해하기 쉬울 것이다.


    콘텐츠 라우터

    인터넷 트래픽 조건과 콘텐츠의 종류에 따라 요청을 특정 웹 서버로 유도한느 콘텐츠 라우터로 동작할 수 있다.

    예를 들어 CDN을 생각하면 된다.

    CDN 서버 제공자는 사용자가 조금 더 높은 성능을 위해 돈을 더 지불했다면 조금 더 가까운 CDN 사용할 수 있게 할 수 있다.


    트랜스코더

    콘텐츠를 클라이언트에게 전다라기 전에 본문 포맷을 수정할 수 있다.

    이와 같이 데이터의 표현 방식을 자연스럽게 변환하는 것을 트랜스코딩이라고 부른다. (무손실 압축)

    중개자에 의한 콘텐츠의 변형이라는 의미로 볼 수 있다.

    예를 들어 GIF 이미지를 JPG 이미지로 변환 할 수 있고, 크기, 강도, 압축 등 변환할 수 있다.


    익명화 프록시

    HTTP 메시지에서 신원을 식별할 수 있는 특성들(IP, From 헤더, Referer 헤더, 쿠키 등)을 제거함으로써 개인 정보 보호와 익명성 보장에 기여한다.


    잘못된 것이 있다면 댓글로 남겨준다면 감사하겠다.


    리버스 프록시 서버의 개념 - IBM 출처

    https://www.ibm.com/support/knowledgecenter/ko/SSKTXQ_9.0.0/admin/config/st_adm_port_rvprxy_overview_c.html





    반응형

    댓글

Designed by Tistory.