top of page

프록시 PAC 파일 (샘플 있음)

  • 7월 19일
  • 2분 분량

PAC 파일이란

프록시 자동 설정(Proxy Auto-Configuration) 파일을 말하며, 브라우저가 지정한 웹사이트에 직접 접속하거나, 특정 조건일 때만 프록시 서버를 경유하도록 지시를 적을 수 있는 텍스트 파일입니다.

예를 들어 PAC 파일 안에서 조건을 지정하면, 프록시를 경유하는 요일이나 시간대를 지정하거나, 지정한 도메인이나 URL에 접속할 때만 프록시를 경유하지 않도록 지정할 수 있습니다.

관련 도서(PR) 프록시와 네트워크의 구조(TCP/IP)를 기초부터. ▶ 아마존에서 찾기

PAC 파일 설정 방법

Windows라면 제어판의 인터넷 옵션에서

[연결] 탭 - [LAN 설정] 버튼을 클릭해, 「로컬 영역 네트워크(LAN) 설정」 창을 표시합니다.

그중 「자동 구성 스크립트 사용」에 체크하고, 「주소」란에 pac 파일이 배치된 경로를 입력합니다.

인터넷상에 배치한 경우의 예: https://domain/sample.pac

로컬 파일로 배치한 경우의 예: file://c:/tmp/sample.pac

관련 도서(PR) Windows·사내 네트워크의 설정과 관리를 배우려면. ▶ 아마존에서 찾기

PAC 파일 작성 방법

PAC 파일은 JavaScript 형식으로 작성되며, 프록시의 규칙이나 조건을 지정할 수 있습니다. 아래에 기본적인 PAC 파일 작성 방법의 샘플을 제시합니다.

function FindProxyForURL(url, host) {
    // 프록시 정의
    // 사용할 프록시와 포트를 기재
    var proxy = "PROXY proxy.example.com:3128";

    // 프록시 적용 조건
    // 「www.amazon.com」에 접속했을 때만 프록시를 경유한다는 조건
    if (shExpMatch(url, "https://www.amazon.com/")) {
        return proxy;
    }
    // 그 외에는 프록시를 사용하지 않고 직접 연결한다
    return "DIRECT";
}

프록시를 여러 개 사용하는 것도 가능합니다

여러 프록시를 정의하는 경우는, 조건마다 다른 프록시를 반환하도록 지정합니다.

function FindProxyForURL(url, host) {
    // 프록시 정의
    var proxy1 = "PROXY proxy1.example.com:8080";
    var proxy2 = "PROXY proxy2.example.com:8080";

    // 프록시 적용 조건
    if (condition1) {
        return proxy1;
    }
    if (condition2) {
        return proxy2;
    }
    return "DIRECT";
}

관련 도서(PR) PAC 파일은 JavaScript. 기초를 다지고 싶은 분께. ▶ 아마존에서 찾기

지원되는 함수

PAC 파일에서는 다양한 함수를 사용해 조건을 지정할 수 있습니다. 대표적인 함수로는 다음이 있습니다.

shExpMatch(str, pattern): 문자열 str이 와일드카드 패턴 pattern에 매칭되는지 확인합니다.

dnsDomainIs(host, domain): 호스트명 host가 도메인 domain에 속하는지 확인합니다.

isInNet(ip, subnet, mask): IP 주소 ip가 지정된 서브넷 subnet에 속하는지 확인합니다.

isResolvable(host): 호스트명 host가 해석 가능한지 확인합니다.

이 함수들을 조합해, PAC 파일 안에서 프록시의 조건을 지정할 수 있습니다.

관련 도서(PR) Squid 등 프록시 서버 구축의 실전서. ▶ 아마존에서 찾기

※본 기사에는 제휴 링크(아마존 어소시에이트)를 포함합니다. 링크를 통한 구매로 소개료를 받을 수 있습니다.

 
 
 

댓글


© Copyright ROBIN planning LLC.

bottom of page