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
프록시 서버에 연결을 시도합니다.