게시물 12건
   
[네트워크] Rivers Proxy Part.1
글쓴이 : 최장섭 날짜 : 2013-07-16 (화) 11:30 조회 : 5349
▶ 리버스 프록시 (Rivers Proxy)
  - 로드밸런서를 이용하여 웹 서버의 부하 분산 기능은 가능해졌지만, IPVS(LVS)와 같은 로드밸런서
    는 L4 레벨에서 패킷 전송만을 한다. 웹 서버가 클라이언트 에플리케이션으로부터의 요청에 직접
    응답하는 구성이라는 부분에 대해서는 변함이 없다.


  - 여기서 로드밸런서와 웹 서버 사이에 리버스 프록시라의 역할을 넣음으로써 보다 유연하게
    부하분산이 가능하다. 아파치에 mod_proxy 나 mod_proxy_balancer를 내장함으로써 구축이
    가능하다.
아파치 외에도 lighthttpd 나 Squid 등으로도 이용이 가능하다.

  - 리버스 프록시는 클라이언트로부터의 요청을 받아서 적절한 웹 서버로 요청을 전송한다.  웹 서버
    는 요청을 받아서 평소처럼 처리를 하지만, 응답은 클라이언트로 보내지 않고 리버스 프록시로
    반환한다. 요청을 받은 리버스 프록시는 그 응답을 클라이언트로 반환 한다.



▶ 리버스 프록시 장점
  1.
HTTP 요청의 내용에 따라 시스템의 동작 제어(L7 스위치가 하는 역할과 비슷하다)
  2. 시스템 전체의 메모리 사용효율 향상
  3.
웹 서버가 응답하는 데이터의 버퍼링 역할
  4.
아파치 모듈을 이용한 처리의 제어

HTTP 요청에 따른 시스템의 동작 제어
  - IPVS 는 L4이므로 클라이언트로부터 요구된 HTTP 요청의 내용에 따라 처리를 분배하는 일은 할
    수 없다. 그러나 리버스 프록시가 있으면, HTTP요청 내에서 URL을 보고 최종적인 처리를 각각
    다른 서버에 분배하는 제어가 가능하다.



  - 아파치로 리버스 프록시를 구축할 경우, 이러한 분배는 mod_rewrite의 RewriteRule 기능을
    이용하게 된다. mod_rewrite로 제어할 수 있다면 거의 무엇이든 가능하다고도 할 수 있다.
    예를 들면 다음과 같은 처리가 가능하다.

  - 클라이언트의 IP주소를 보고 특정 IP주소로만 서버로의 접속을 허가한다.
  - 클라이언트의 User-Agent 를 보고 임의의 User-Agent 로부터의 요청을 특별한 웹 서버
    로 접속되도록 유도한다.
  - /Rivers/Proxy/Study 라는 URL 을 /Rivers?Proxy=Study 라는 URL로 변경해서 웹 서버
    로 요청한다.

IP주소를 이용한 제어
  - 예를 들어 IP주소에 따른 제어는 악의가 있는 호스트로부터의 요청을 차단할 목적에도 이용할 수
    있다.
  - 또한, 관리자 전용 페이지가 포함된 사이트에서 IP주소와 URL에 의한 제어를 조합해서 관리자
    전용 페이지에는 특정 IP주소에서만 접속 가능하도록 제한할 수도 있다.

User-Agent 에 의한 제어
  - Googlebot 이나 Yahoo! Slurp 등의 검색엔진 로봇에의 대응에 이용할 수 있다.
  - 예를 들면, 사용자에 대해서는 캐싱하기가 어려운 동적인 페이지(사용자에 맞게 사용자명이 표시
    되는 페이지 등)가 있다고 할때, 로봇에게는 사용자명을 표시할 필요가 없을 경우, 그 페이지를
    캐싱할 수가 있다. 여기서 User-Agent를 보고 로봇의 User-Agent인 경우는 캐시 서버를 경유해
    서 웹 서버로 접속되도록 제어하는 일이 가능하다.

URL 다시 쓰기
  - 최근에는 사이트 전체의 계층 구조를 쉽게 알 수 있게 하려는 등의 이유로 사용자에게 웹 사이트의
    URL을 깔끔하게 보이고자 할 경우도 있다.

이름 패스워드
비밀글 (체크하면 글쓴이만 내용을 확인할 수 있습니다.)
왼쪽의 글자를 입력하세요.
   

miwit.com sir.co.kr DNS Powered by DNSEver.com DNS Powered by DNSEver.com