Agregue un proxy a un host particular solo en mac


10

Quiero aplicar la configuración de proxy solo a un host en particular (por ejemplo, www.apple.com) en Mac OS X. ¿Cómo puedo hacerlo?

En Preferencias del sistema solo hay opciones para omitir la configuración del proxy para hosts particulares.

Respuestas:


17

Puede usar el siguiente proxy.pacarchivo para enviar todo el tráfico a apple.com a través del proxy 1.2.3.4 mientras sigue yendo directamente a todos los demás hosts:

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. Guarde este script como proxy.pac(o cualquier otro nombre que desee) en un servidor web. Este puede ser un servidor web local ( http: //localhost/proxy.pac ). Esto es obligatorio a partir de OSX Lion .
  2. Ve al System Preferences.
  3. Seleccionar Network.
  4. Seleccione la red que desea cambiar (es decir, "WiFi").
  5. Haga clic en el Advanced...botón
  6. Haga clic en la Proxiespestaña
  7. Compruebe [x] Automatic Proxy-Configuration.
  8. En el URL:campo, escriba la dirección URL para el archivo que ha creado en el paso 1. Por ejemplo: http://localhost/proxy.pac. (nota: las rutas locales no funcionarán en OSX moderno)
  9. Haga clic SaveyApply

Voila! Su propia configuración de proxy

Para obtener más información sobre el formato del proxy.pacarchivo, consulte http://en.wikipedia.org/wiki/Proxy_Auto-Config como punto de partida.


8

En realidad, puede usar el file:///path/to/fileesquema para la URL, en lugar de tener que depender de un servidor web.

Por ejemplo:

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

1
Curiosamente, todo esto funciona también para Linux / BSD, y posiblemente incluso para Windows; en cualquier lugar donde se use la Configuración automática de proxy , es probable que esto funcione.
jnbek

Probablemente esta debería ser la respuesta aceptada, ya que evita la complicación excesiva de la pila en uso y, como menciona el comentario anterior, es una solución mucho más universal.
user239546

Si usa file: ///...pac, en algunas aplicaciones puede tener problemas (por ejemplo, aplicaciones de Microsoft como Teams y otras, consulte support.microsoft.com/en-us/help/4042151/… ), por lo que La mejor manera es ponerlo en localhost o en cualquier servidor público en Internet.
paly

1
Esto NO funciona en OSX.
jpgeek

@jpgeek funciona en 10.15 para mí. Si no está seguro, regrese 'PROXY ...'sin verificar el dominio para verificar. proxy.pacse vuelve a leer cuando alterna wifi.
seeker_of_bacon

2

Añadiendo a la respuesta de @ heiglandreas ...

La solución de @ jnbek no funcionó en Mac OSX para mí y estaba buscando una solución simple.

Entonces, creé una nueva carpeta y copié el archivo pac en eso. Luego, comencé un servidor web simple en OSX en el puerto 80 desde esa carpeta.

Simplemente vaya a la carpeta y ejecute este comando. Cambie el puerto de 80 a otro si ya está ocupado.

python -m SimpleHTTPServer 80

Ahora, podría obtener fácilmente el archivo proxy.pac de http://localhost/proxy.pac. O, para diferentes usos del puerto: http://localhost:PORT/proxy.pac.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.