HTTP Proxy
문서에 오류가 있거나 건의 사항이 있으시면 메세지를 미꾸라지 포럼 (https://forums.mudfish.net) 에 남겨주세요.
이 문서는 미꾸라지를 통하여 HTTP (웹) 가속(이하 웹가속)을 어떻게 적용 혹은 활용하는지 기술한 문서입니다.
소개
웹가속 이라는 거창한 이름을 붙였습니다만 사실 이 기술은 보통 CDN (Content Delivery Network) 업체들 사이에서는 굉장히 평이한 것이 불과하다고 볼 수 있는데요, 이 가속이라는 것은 보통 Cache Server (일반적으로 reverse proxy) 를 사용자의 컴퓨터와 최대한 가까운데 설치해 둠으로써 HTTP protocol 상의 컨텐츠를 cache 해 놓고 이미 가지고 있다면 뒤에 있는 Backend 서버에 물어보지 않고 Cache Server 가 스스로 해당 컨텐츠를 사용자에게 제공하는 것을 말합니다.
하지만 다른 CDN 업체에서 하는 caching 과 다른 점은 해당 CDN 업체들은 보통 회사를 상대로 영업을 하고 그 해당 회사의 홈페이지나 중요 자료를 캐싱하는 것과 대조적으로 미꾸라지의 경우 사용자가 방문하는 홈페이지를 대상으로 캐싱을 하는 것이 다릅니다.
제공하는 서비스 방식은 좀 더 Transparent proxy 에 가깝다고 생각하시면 됩니다.
특징 및 효과
자체 개발한 Cache-Terminator (일명 "캐시 종결자": varnish 코드를 기반으로 하여 수정된 multi-threads non-blocking Cache Server) 를 이용하여 서비스를 하고 있으며 이용 시 다음과 같은 혜택을 볼 수 있습니다.
-
WPAD (Web Proxy Auto Discovery) 프로토콜을 이용하여 세팅을 하기 때문에 사용자가 좀 더 유연하게 Proxy 사용 여부를 결정할 수 있습니다. 더 이상 웹 페이지가 proxy 설정으로 인해 더 느려질 일은 없으며, 사용자가 원하는 홈페이지에 대해서만 가속을 적용받으실 수 있습니다.
-
미꾸라지 WAN optimization 기술을 적용하여 해외에서 접속 시 느린 웹 페이지 로딩 시간을 개선할 수 있습니다. 예를 들면, 동영상 시청, 파일 다운로드 등등 웹 상에서 일어나는 모든 행위들을 가속할 수 있습니다.
-
나라별 접속 제한 우회를 위한 HTTP proxy 로 사용될 수 있습니다. 모든 국내 및 해외에 설치된 미꾸라지 중계 서버를 통해 이용할 수 있습니다.
-
자신의 현재 public IP 을 임시적으로 숨기고 싶으실 때 이용될 수 있습니다. (오직 미꾸라지 중계 서버의 로그에만 abuse 행위를 막기 위해 IP가 기록됩니다.)
단점
-
HTTP 프로토콜 1.1 specification 에 의하면 Backend 서버 (보통 실제 웹 서버)가 Cache-Control 과 같은 헤더를 통해서 해당 응답 결과를 얼마나 cache 해도 좋은지를 결정하게 됩니다. 하지만 간혹 Backend 서버가 컨텐츠 업데이트를 통해서 내용을 갱신할 경우, 이전에 받았던 응답의 Cache-Control 헤더를 준수하고 있는 미꾸라지 중계 서버는 해당 업데이트 여부를 알지 못해 오래전 데이타를 전송함으로써 결과적으로 페이지 화면이 깨져 나올 수 있습니다.
보통 이 문제를 해결하기 위해서 Purging 기능을 이용하게 됩니다만, 아직은 사용자가 직접 제어할 수 있는 인터페이스를 제공하고 있지 않습니다.
미꾸라지 환경
운영 중인 웹가속 미꾸라지 서버
가장 정확한 표는 미꾸라지 UI에서 '설정 → WPAD' 메뉴를 통해서 알 수 있습니다. 아래의 표는 최신 리스트를 반영하지 않을 수 있습니다.
HTTP proxy IP | Port | Cache 용량 | 네트워크 | 이름 |
---|---|---|---|---|
10.255.96.1 | 8080 | 20 GBytes | 1 G shared | Asia (S.Korea - KT IDC) |
브라우저별 세팅 방법 (WPAD 기능 이용)
웹가속 기능의 경우, 미꾸라지 서비스의 일부로써 반드시 미꾸라지 프로그램을 실행한 상태에서 적용하셔야 합니다. 또한 HTTP proxy IP 의 경우, internal IP 인 10.XXX.YYY.ZZZ 형태를 가지고 있기 때문에, 미꾸라지 실행 없이는 접근할 수 없습니다.
이제 사용하시는 브라우저 세팅하는 방법에 대해서 설명 드리도록 하겠습니다.
현재 인터넷 상에서 가장 많이 사용되는 3 가지 인터넷 브라우저를 대상으로 어떻게 WPAD 프로토콜을 이용하여 프록시 서버를 설정하는지 설명을 하겠습니다.
아래 예제들은 미꾸라지 사용자 ID 가 weongyo 라고 가정을 했을 때 어떻게 세팅하는지 보여주는 예입니다. 사용자 ID weongyo 에 대해 사용된 WPAD URL 은 다음과 같았습니다.
Chrome (크롬)
구글 크롬(Chrome)은 기본적으로 인터넷 익스플로러(IE)에서 설정한 프록시(Proxy) 설정을 사용합니다.
프록시 설정을 변경하려면 다음 단계를 따르세요.
-
브라우저 툴바의 공구모양 아이콘 도구 메뉴를 클릭합니다.
-
설정 을 선택합니다.
-
고급 을 클릭합니다.
-
'네트워크' 섹션에서 프록시 설정 변경 을 클릭합니다. 그러면 인터넷 속성 대화상자가 열립니다.
-
그럼 이제 아래의 Internet Explorer 설정 2 단계 부터 따라하시면 됩니다.