PAC (Proxy Auto-Configuration)는 웹 브라우저나 다른 애플리케이션이 접속하려는 URL에 따라 자동으로 프록시 서버를 선택하거나 직접 연결을 결정하는 방식입니다. 이는 JavaScript로 작성된 PAC 파일을 통해 구현됩니다.
function FindProxyForURL(url, host) {
return "PROXY proxy.example.com:3128";
}
proxy.example.com:3128 프록시 서버를 통해 전송합니다.
function FindProxyForURL(url, host) {
if (shExpMatch(host, "*.example.com")) {
return "PROXY proxy1.example.com:8080";
} else if (shExpMatch(host, "*.internal.com")) {
return "DIRECT";
} else {
return "PROXY proxy2.example.com:3128";
}
}
*.example.com 도메인은 proxy1.example.com:8080 프록시 서버를 사용합니다.*.internal.com 도메인은 직접 연결합니다.proxy2.example.com:3128 프록시 서버를 사용합니다.
function FindProxyForURL(url, host) {
if (isInNet(host, "192.168.0.0", "255.255.255.0")) {
return "DIRECT";
} else {
return "PROXY proxy.example.com:3128";
}
}
192.168.0.0/24 네트워크 내의 IP 주소는 직접 연결합니다.proxy.example.com:3128 프록시 서버를 사용합니다.
function FindProxyForURL(url, host) {
if (url.substring(0, 7) == "http://") {
return "DIRECT";
} else if (url.substring(0, 8) == "https://") {
return "PROXY proxy.example.com:3128";
}
}
HTTP 요청은 직접 연결합니다.HTTPS 요청은 proxy.example.com:3128 프록시 서버를 사용합니다.
function FindProxyForURL(url, host) {
return "PROXY proxy1.example.com:3128; PROXY proxy2.example.com:3128";
}
proxy1.example.com:3128 프록시 서버에 연결을 시도하고, 실패하면 proxy2.example.com:3128 프록시 서버에 연결을 시도합니다.