URL 에 따른 프록시서버 자동 변경

시스템 잡설  |   2010. 10. 7. 00:15
프록시서버 (Proxy Server) 란 인터넷에 접속을 할 때 원하는 목적지 (웹, FTP, 기타 무엇이든) 에 직접 접속을 하는 것이 아니라 대리자(Proxy)를 통해서 접속하는 방식을 이야기 합니다.

사용자 (User: A) ↔ 프록시서버(Proxy: P) ↔ 목적지(URL: U)

이렇게 접속을 하는 이유는 다양하게 있습니다. 초기 인터넷에서는 속도가 느린 A 컴퓨터의 인터넷 속도를 빠르게 하기 위해서 목적지(U) 에서 필요한 데이터를 받아오는 대신 프록시서버(P)에 존재하는 cache 파일을 읽어 속도를 빠르게 하는 효과를 보기도 했지만 지금은 이런 이유가 아니라 다른 이유에서 사용하게 됩니다.

    • 보안의 이유로 사용자의 IP 를 숨기고 프록시서버의 IP를 보여주게 됩니다. 
      음란물이나 원치 않는 사이트의 접속을 차단하기 위해서
    • 반대로 차단된 페이지를 보기 위해 bypass (우회)의 방법으로 사용하게 됩니다. 
      (사내 메신저 차단이나 특정 홈페이지 차단시)
    • 보안상 나가면 안되는 데이터의 검열을 위해서도 사용됩니다.

이처럼 다양한 이유로 사용되는 프록시서버는 연결방법에 있어서도

    • 웹서비스를 이용한 접근 방법 (도서관 홈페이지나 웹 접속만이 가능한 상태에서)
    • Fort Forwarding (SSH) 를 이용하는 방법 (http://blog.meson.kr/166)
    • 보안 프록시 클라이언트를 이용하는 방법

등이 가능합니다. 일단 프록시서버를 사용할 수 있는 권한과 이 프록시서버에 접근할 수 있는 환경을 가지고 있어야 합니다.

인터넷익스플로러의 설정은 설정 → 인터넷 옵션 → 연결 → 랜 설정 부분에서 설정이 가능합니다. 그러나 잘 사용하지 않기도 하지만 다양한 플러그인(plug-in)이나 추가 기능을 통해서 원하는 기능을 제공하는 구글 크롬(Google Chrome) 이나 파이어폭스(Firefox) 에 비하면 확장성이 떨어지기 때문에 구글 크롬을 통해서 소개하도록 하겠습니다.

구글 크롬을 쓰시는 분들은 주소창에 chrome://extensions/ 을 입력하시거나 도구(Tools) 에서 확장 프로그램을 들어가서

Proxy Switchy! 를 검색하시거나 바로 http://v.meson.kr/cKQEIV 에 들어가셔서 설치하시면 됩니다.

이 확장 프로그램을 통해서 원하는 시나리오는

1. 집에서 접속하는 A IP 는 내가 Full Text 를 볼 수 없는데 학교에 설치된 프록시서버 혹은 Linux 서버를 통해서 학교의 IP로 접속하는 것처럼 논문을 받고 싶다.
2. 외부(집)에서 내부 네트워크 IP 만 접근이 가능한 파일 공유나 문서를 열람하고 싶다.

같은 상황에서 사용할 수 있는 방법이다. 물론 수동으로 프록시서버를 설정해서 사용할 수 있지만

1. 원하는 논문이 있는 웹서버 주소에 접근을 할 때 자동으로 프록시서버를 이용해 접속할 수 있게 한다.
2. 원하는 웹 공유 사이트에 접속할 때는 프록시서버를 통해 자동으로 우회한다.

즉, 해당 확장 프로그램은 접속할려는 주소를 먼저 확인하고 프록시서버가 쓰여야하는 규칙이 발견되면 해당 프록시 설정으로 자동으로 설정되는 것이다.

외부에서는 가입이 안되어 있는 논문 사이트에 접속해보았다.


해당 논문을 읽기 위해서는 구입을 해야 한다고 나온다. 그러나 이미 해당 저널이 학교에서 구독을 하고 있다면 프록시서버를 통해서 연결해서 접속을 하면 해당 사이트는 나의 접근 아이피가 프록시서버의 IP로 인식하고 해당 논문을 보여주게 된다.


그렇게 하기 위해서 Proxy Switchey! 메뉴에서 Auto Switch Mode 로 설정을 해놓고


자신이 논문을 보기 위해 필요한 사이트 주소는 Switch Rules 에서

해당 논문주소를 wildcard 로 설정을 하거나 쉘 스크립트를 위한 정규표현식 (Regular Expression) 을 이용해서 설정을 할 수 있다.  


대부분 wildcard 로 쉽게 설정 가능하며 해당 홈페이지에 있을 때 메뉴에서 New Rule 를 누르면 자동으로 해당 페이지에 대한 wildcard 규칙을 만들어준다.

이렇게 설정이 되면 수동으로 프록시를 설정해주지 않아도 아래 화면처럼

해당 논문 사이트는 프록시서버를 통해서 접속을 하게 되고 구입해야 했던 논문은 Full Text PDF 를 받아 볼 수 있게 보인다.


구글 크롬과 마찬가지로 파이어폭스에서는 FoxProxy (http://getfoxyproxy.org/index.html) 라는 프로그램이 똑같은 기능을 한다. 설정 방법에서 그리고 부가적인 기능이 존재하지만 URL에 따른 프록시 설정을 위해서는 동일하게 설정하고 작동하게 된다.