프록시 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 등 프록시 서버 구축의 실전서. ▶ 아마존에서 찾기
※본 기사에는 제휴 링크(아마존 어소시에이트)를 포함합니다. 링크를 통한 구매로 소개료를 받을 수 있습니다.



댓글