프록시 pac 파일

PAC 파일의 목적은 단 하나:
어떤 URL 요청이 어떤 프록시를 거칠지 자동으로 결정해주는 것.

Windows에 http://your-company.com/proxy.pac 주소를 입력하면
브라우저(또는 일부 앱)는 해당 URL의 .pac 파일을 다운받고
URL 요청마다 FindProxyForURL() 함수에 넘겨서
"프록시를 거칠지 말지" 판단함

function FindProxyForURL(url, host) { // url:접속하려는 URL, host:접속 대상의 도메인
    if (shExpMatch(host, "*.internal.company.com")) { // 조건부 프록시 :  특정 도메인만 프록시를 거치게 할 수 있음
        return "PROXY proxy.company.com:8080"; // 나머지는 이 프록시로
    }
    return "DIRECT"; // 프록시 안 거치고 직접 연결
}

 

 

내 컴퓨터에서 나가는 모든 네트워크가 PAC의 통제를 받나? 아니다. PAC 설정을 따르는 앱만 영향을 받는다.
영향을 받는 앱은? 주로 브라우저들 (Chrome, Edge 등)
영향을 안 받는 앱은? CLI 도구(npm, git, curl 등), 일부 네이티브 앱
모든 트래픽을 통제하려면? 방화벽( Windows Firewall이나 외부 네트워크 장비에서 강제로 차단 )
VPN( 모든 트래픽을 암호화된 터널로 우회)
라우터 수준의 제어가 필요