Mac에서만 특정 호스트에 프록시 추가


10

Mac OS X의 특정 호스트에만 프록시 설정을 적용하고 싶습니다 (예 : www.apple.com). 어떻게해야합니까?

시스템 환경 설정에는 특정 호스트에 대한 프록시 설정을 무시하는 옵션 만 있습니다 .

답변:


17

다음 proxy.pac파일을 사용하여 프록시 1.2.3.4를 통해 모든 트래픽을 apple.com으로 보내면서 다른 모든 호스트로 직접 이동할 수 있습니다 .

function FindProxyForURL(url, host) {
    PROXY = "PROXY 1.2.3.4"

    // Apple.com via proxy
    if (shExpMatch(host,"*.apple.com")) {
        return PROXY;
    }
    // Everything else directly!
    return "DIRECT";
}
  1. 이 스크립트를 proxy.pac웹 서버에 다른 이름 으로 저장하십시오 . 이것은 로컬 웹 서버 ( http : //localhost/proxy.pac ) 일 수 있습니다. 이것은됩니다 OSX 사자로 필요합니다 .
  2. 로 이동하십시오 System Preferences.
  3. 를 선택하십시오 Network.
  4. 변경할 네트워크를 선택하십시오 (예 : "WiFi").
  5. Advanced...버튼을 클릭하십시오 .
  6. 클릭 Proxies
  7. 확인하십시오 [x] Automatic Proxy-Configuration.
  8. 에서 URL:필드, 예를 들어 1 단계에서 생성 한 파일에 대한 URL을 입력 : http://localhost/proxy.pac. (참고 : 최신 OSX에서는 로컬 경로가 작동하지 않습니다)
  9. 클릭 Save하고Apply

짜잔! 자신의 프록시 구성

proxy.pac파일 형식에 대한 자세한 내용 은 시작 지점으로 http://en.wikipedia.org/wiki/Proxy_Auto-Config 를 참조하십시오.


8

실제로 file:///path/to/file웹 서버에 의존하지 않고 URL 구성표를 사용할 수 있습니다 .

예를 들면 다음과 같습니다.

file:///Users/youruser/var/proxy/proxy.pac

1
흥미롭게도 이것은 모두 Linux / BSD, 심지어는 Windows에서도 작동합니다. 자동 프록시 구성 이 사용되는 모든 곳 에서 작동합니다.
jnbek

사용중인 스택을 지나치게 복잡하게 만들지 않고 이전 주석에서 언급했듯이 훨씬 보편적 인 솔루션입니다.
user239546

file : ///...pac를 사용하는 경우 일부 응용 프로그램에서 문제가 발생할 수 있습니다 (예 : Teams 및 기타와 같은 Microsoft 앱, support.microsoft.com/en-us/help/4042151/… 참조 ). 가장 좋은 방법은 로컬 호스트 또는 인터넷의 공용 서버에 배치하는 것입니다.
paly

1
OSX에서는 작동하지 않습니다.
jpgeek 2016 년

@jpgeek는 10.15에서 작동합니다. 확실하지 않은 경우 'PROXY ...'확인할 도메인을 확인하지 않고 돌아갑니다 . proxy.pacWi-Fi를 전환하면 다시 읽습니다.
seeker_of_bacon

2

@heiglandreas 님의 답변에 추가 ...

@jnbek의 솔루션은 Mac OSX에서 작동하지 않았으며 간단한 솔루션을 찾고있었습니다.

그래서 새 폴더를 만들고 pac 파일을 복사했습니다. 그런 다음 해당 폴더 자체에서 포트 80의 OSX에 간단한 웹 서버를 시작했습니다.

폴더로 이동하여이 명령을 실행하십시오. 이미 점유 된 경우 포트를 80에서 다른 것으로 변경하십시오.

python -m SimpleHTTPServer 80

이제 쉽게 proxy.pac 파일을 얻을 수 있습니다 http://localhost/proxy.pac. 또는 다른 포트 사용의 경우 : http://localhost:PORT/proxy.pac.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.