기록하는 습관

[북스터디] HTTP 완벽 가이드 6장 본문

스터디/HTTP 완벽 가이드

[북스터디] HTTP 완벽 가이드 6장

로그뉴 2021. 5. 28. 13:53

HTTP 완벽 가이드 6장 프락시 

 

6.1 웹 중개자 

 

 프락시 서버는 클라이언트의 입장에서 트랜잭션을 수행하는 중개인이다. 중간에서 요청과 응답을 둘 다 받게 되므로 웹 클라이언트이면서 웹 서버가 되기도 한다. 

 

 

 

사용 목적 

  • 네트워크 캐싱 
  • 특정 웹 사이트 액세스 방지 
  • 보안 방화벽 
  •  케시 문서 접근 등.. 

 

6.1.1 개인 프락시와 공유 프락시 

 

공용 프락시 - 여러 클라이언트가 사용하는 프락시 

개인 프락시 - 하나의 클라이언트가 독점적으로 사용하는 프락시 

 

6.1.2 프락시 VS 게이트웨이 

  1. 프락시 - 둘 이상의 애플리케이션을 연결하는데 “같은” 프로토콜을 사용 
  2. 게이트웨이- 둘 이상의 애플리케이션을 연결하는데 “다른” 프로토콜을 사용 

 

  • 게이트웨이란? 
    • 리소스와 어플리케이션을 연결하는 것으로, HTTP 트래픽을 다른 트래픽으로 자동 변환해 클라이언트가 다른 프로토콜을 몰라도 서버에 접속할 수 있도록 한다. 
  •  어플리케이션 -> 게이트웨이 -> 리소스 
    • 어플리케이션 -> 게이트웨이 : 클라이언트와 게이트웨이의 통신으로 HTTP 통신 
    • 게이트웨이 -> 리소스 : 게이트웨이와 다른 서버의 통신으로 다른 프로토콜 통신 
  • 사용 목적 
    • 서로 다른 프로토콜과 애플리케이션 간의 통신을 위해 
  • 결론 
    • 둘 다 다른 네트워크와 중간에 위치하면서 중개자 역할 느낌이지만 프록시는 캐시, 보안 방화벽, 필터링 역할을 하고 게이트웨이는 다른 네트워크와의 통신을 가능하게 한다. 

 

6.2 왜 프락시를 사용하는가? 

 

프락시 서버는 보안을 개선하고 성능을 높여주며 비용을 절약한다. 

그리고, 모든 HTTP 트래픽을 제어할 수 있다. 

 

  • 어린이 필터 
    • 클라이언트와 서버 사이에 있는 중개인으로써 부적절한 사이트의 접근을 강제로 거부한다. 
    • 성인 콘텐츠 차단 
  • 문서 접근 제어자 
  • 보안 방화벽 
  • 웹 캐시 
    • 인기 있는 문서의 로컬 사본을 관리하고 해당 문서에 대한 요청이 오면 빠르게 제공한다. 
    • CDN 서버로 활용한다. 
      • CDN이란? 
      • Content Delivery Network의 약자인 CDN은 지리적 제약 없이 전 세계 사용자에게 빠르고 안전하게 콘텐츠를 전송할 수 있는 콘텐츠 전송 기술이다. 
  • 대리 프록시 
  • 콘텐츠 라우터 
  • 트랜스 코더 
  • 익명화 프록시 

6.3.2 어떻게 프락시 연쇄가 계층을 이루는가? 

 

 

 

 

서버쪽으로 갈 수록 부모 서버가 되고, 자식 프락시는 자신이 수행할 일을 요청할 부모 프락시를 정할 수 있다. 

 

6.3.3 어떻게 프락시가 트래픽을 처리하는가? 

 

원서버로 요청한 메시지가 프락시한테 가는 4가지 방법 

  1. 클라이언트를 수정 
    1. 의도적으로 원 서버가 아닌 프락시 서버로 요청이 간다. 
  2.  네트워크를 수정 
    1. 스위칭, 라우팅 장치에서 처리하는 인터셉트 프락시 
  3.  DNS에서 수정 
    1. 대리 프락시에서 자신의 DNS 테이블을 사용한다. 
  4.  웹 서버를 수정 
    1. 웹서버에서 HTTP 리다이렉션을 실행시킨다. 

 

 

 

 

 

번외) 

서버 위치에 따른 프록시 서버 

  1. Forward 프록시 
    1. 클라이언트 호스트들과 접근하고자 하는 원 리소스 사이에 위치시킨다. 
    2. 만약, 사용자가 naver.com을 요청하면 사용자가 직접 PC에 연결하는 것이 아니라 Forward 프록시 서버가 요청을 받아 연결해주고 그 결과를 사용자에게 전달하는 것. 
    3. 서버가 응답받은 IP는 포워드 프록시 서버의 IP이므로 클라이언트를 감출 수 있다. 
    4. 장점 
      1. 대역폭 사용을 감소시킬 수 있다. 
      2. 접근 정책 구현에 있어서 다루기 쉬우면서도 비용이 저렴하다는 장점이 있다. 

 

 

 

 

  1. Reverse 프록시 
    1. 인터넷 리소스 또는 인트라넷 리소스 앞에 위치시킨다. 
    2. 클라이언트가 서버를 호출할 때 Reverse 프록시를 호출하고 Reverse 프록시 서버가 서버를 요청한다. 
    3. 만약, 사용자가 naver.com에 데이터를 요청하면 Reverse 프록시가 요청을 받아 내부 서버에서 데이터를 받은 후 그 데이터를 사용자에게 전달한다. 
    4. 클라이언트는 리버스 프록시 서버를 먼저 호출하게 되기 때문에 실제 서버의 IP를 알 수 없으므로 리버스 프록시 서버는 원서버를 감추는 역할을 한다. 
    5. 이 방식은 클라이언트들이 프록시 서버에 연결되어 있다는 것을 인식하지 못한다. 

 

 

 

  • WAS는 보통 DB 서버와 연결 되므로 WAS가 최전방에 있으면 해킹당할 경우 DB까지 같이 해킹되는 문제가 발생할 수 있다. 따라서 Reverse 프록시 버를 두고 실제 서비스 서버는 내부 망에 위치시키고 프록시 서버만 내부에 있는 서버와 통신해서 결과를 클라이언트에게 제공하는 방식으로 서비스를 하게 된다. 
Comments