So I was just alerted to a pretty big issue at work: it seems Safari is ignoring our zScaler-provided proxy auto configuration file. It is hosted on the zScaler cloud service, and is set properly in the Network prefpane for all network interfaces. Oddly, both Firefox and Chrome honor the system network settings and route traffic through the proxy when appropriate. Safari, on the other hand, ignores the proxy in all circumstances.

If I put the PAC file in /Library/Internet Plug-Ins/, Safari honors the PAC file as appropriate. But is there any way to get it to use a PAC file hosted on a remote web server? If not, can anyone point me in the right direction as far as updating the PAC file path in the Network prefpane via the command line? If I have to start using a locally hosted PAC file, I'm going to have to update that setting on our 200 student MacBooks.

Below is the PAC file. I had some trouble initially getting the if statements to work properly under OS X; the problem could lie there as well. When on the school network traffic is routed thru zScaler with a tunnel, thus making the proxy undesirable.

Doesn't really solve the problem... I need the PAC file to be implemented only when the client is not connected to my network. Thus, I have no control over DHCP in the locations where the proxy is necessary.

In any case, I later found that some of the Macs do work with the filter. They're all clones of one another, and thus have the exact same versions of everything. Yet Safari ignores the proxy on some and honors it on others.

I think I'll just let it sit for two more weeks until school is out. This summer I can do a local PAC file in my image before I re-image all of them.