본문 바로가기
정보기술/웹&데이터베이스

Proxy auto-config (PAC) 파일 작성법

by fermi 2012. 9. 12.

FoxyProxy 등과 같은 동적 Proxy 설정 유틸리티를 사용하면, url 패턴에 따라 Proxy를 자동으로 적용하게 할 수 있다. 


iOS와 같은 모바일 기기들의 웹브라우저들은 아직까지 자체 Proxy 설정기능을 가지고 있지 않거나, 가지고 있더라도 동적인 Proxy 설정을 제공하지 않는다. iOS 자체의 Proxy 설정기능 또한 단순하게 Off / Manual / Auto 로 구분되어 있다. 


보통 자동 Proxy 설정이라고 불리우는 PAC (Proxy auto-config)를 이용하면 이러한 문제를 쉽게 해결할 수 있다. 


예를 들면 proxy.pac 파일을 만들고 웹 서버에 올려놓고 http://a. domain.com/proxy.pac 로 접근이 가능하게 설정해 놓는다.


iOS의 Proxy 설정에서 Auto를 선택하고 URL을 http://a.domain.com/proxy.pac 로 지정한다.


proxy.pac의 예제는 다음과 같다.

function FindProxyForURL(url, host) {

//host 패턴을 검사

      if (shExpMatch(host, "service.xxx.org"))

      {

         return "PROXY dev.xxx.org:8888; DIRECT";

      }


또는

//url 패턴을 검사

      if (shExpMatch(url, "://service.xxx.org*"))

         return "PROXY dev.xxx.org:8888; DIRECT";


      return "DIRECT";


}


참고: 

http://en.wikipedia.org/wiki/Proxy_auto-config

http://getpocket.com/a/read/152475948

https://calomel.org/proxy_auto_config.html