Aggiungi un proxy a un determinato host solo in mac


10

Voglio applicare le impostazioni proxy solo a un determinato host (ad es. Www.apple.com) in Mac OS X. Come posso farlo?

In Preferenze di Sistema ci sono solo opzioni per bypassare le impostazioni proxy per determinati host.

Risposte:


17

È possibile utilizzare il seguente proxy.pacfile per inviare tutto il traffico a apple.com tramite il proxy 1.2.3.4 pur continuando ad andare direttamente a tutti gli altri host:

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. Salva questo script come proxy.pac(o qualsiasi altro nome che ti piace) su un server web. Questo può essere un server Web locale ( http: //localhost/proxy.pac ). Ciò è richiesto a partire da OSX Lion .
  2. Vai al System Preferences.
  3. Selezionare Network.
  4. Seleziona la rete che vuoi cambiare (es. "WiFi").
  5. Fare clic sul Advanced...pulsante.
  6. Fare clic sulla Proxiesscheda
  7. Controllare [x] Automatic Proxy-Configuration.
  8. Nel URL:campo, digitare l'URL del file che hai creato nel passaggio 1., ad esempio: http://localhost/proxy.pac. (nota: i percorsi locali non funzioneranno nel moderno OSX)
  9. Clicca SaveeApply

Ecco! La tua configurazione proxy

Per ulteriori informazioni sul formato del proxy.pacfile, consultare http://en.wikipedia.org/wiki/Proxy_Auto-Config come punto di partenza.


8

In realtà è possibile utilizzare lo file:///path/to/fileschema per l'URL, invece di dover fare affidamento su un server Web.

Per esempio:

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

1
È interessante notare che tutto questo funziona anche per Linux / BSD, e forse anche per Windows; ovunque venga utilizzata la configurazione automatica del proxy , è probabile che funzioni.
jnbek

Questa dovrebbe probabilmente essere la risposta accettata in quanto evita di complicare eccessivamente lo stack in uso e, come menzionato nel commento precedente, è una soluzione molto più universale.
user239546

Se si utilizza il file: ///...pac, in alcune applicazioni è possibile riscontrare problemi (ad es. App Microsoft come Teams e altre, consultare support.microsoft.com/en-us/help/4042151/… ), quindi il il modo migliore è metterlo su localhost o su qualsiasi server pubblico su Internet.
Paly,

1
Questo NON funziona su OSX.
jpgeek,

@jpgeek funziona su 10.15 per me. Se non sei sicuro, torna 'PROXY ...'senza verificare il dominio per verificarlo. proxy.pacviene riletto quando si attiva il wifi.
seeker_of_bacon

2

Aggiungendo alla risposta di @ heiglandreas ...

La soluzione di @ jnbek non ha funzionato su Mac OSX per me e stavo cercando una soluzione semplice.

Quindi, ho creato una nuova cartella e copiato il file pac in quello. Quindi, ho avviato un semplice server Web su OSX sulla porta 80 da quella cartella stessa.

Basta andare nella cartella ed eseguire questo comando. Si prega di cambiare la porta da 80 a qualcos'altro se è già occupata.

python -m SimpleHTTPServer 80

Ora, potrei facilmente ottenere il file proxy.pac da http://localhost/proxy.pac. Oppure, per l'impiego porta differente: http://localhost:PORT/proxy.pac.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.