无法获得proxy.pac文件来让浏览器直接进入本地主机

我要把这个问题扔到野外。

我们刚刚开始使用代理login用户login名称的互联网使用情况。 这是在ISA Server 2004(位于我们的Internet网关服务器上)上设置的。 启用集成的和基本的authenticationforms,同时让所有用户进行authentication。 我勾选并在ISA上启用了一组设置,以便忽略内部地址和域。

为了将用户指向我们的代理服务器,我们在DHCP服务器上使用了DHCPINFORM检测function,将客户端指向proxy.pac文件的networking位置(如下所述)。 我也已经在与proxy.pac相同的区域设置了wpad.dat(两个文件都是相同的)。

当前的proxy.pac文件我正在玩:

function FindProxyForURL(url, host) { // Trying to save localhost if (localHostOrDomainIs(host, "localhost")) return "DIRECT"; if shExpMatch (url, "http://localhost*") return "DIRECT"; // If specific URL needs to bypass proxy, send traffic direct. var resolved_ip = dnsResolve(host); if (isInNet(resolved_ip, "172.22.145.0", "255.255.255.0") || isInNet(resolved_ip, "192.168.1.0", "255.255.255.0") || isInNet(resolved_ip, "127.0.0.1", "255.255.255.255")) return "DIRECT"; return "PROXY ^gatewaynamehere^.baytech.local:8080; DIRECT"; } 

(我们的内部IP是172.22.145。*范围)

现在,我遇到的问题是proxy.pac文件使得浏览器在localhost或127.0.0.1请求时转到代理。 当我监视我的IP地址时,我可以看到ISA Server上的请求。 我可以在我们的Intranet上请求其他的服务器,它不会触及代理(这是正确的)。 但我怀疑这是因为ISA Server上的设置,而不是因为proxy.pac文件(我可能是错的)。

一个侧面的问题是,我们需要手动将Firefox指向proxy.pac文件,以使其适用于Firefox。 也有less数IE用户也需要手动指向。 最好的办法是将我们的浏览器设置为自动检测(无论是IE还是FF),无论用户身在何处,都可以正常工作。

通过组策略或浏览器设置进行手动设置并不理想,因为这会给有笔记本电脑带回家的人带来麻烦。

我也尝试禁用IE代理caching,如下所述: http : //support.microsoft.com/kb/271361

我看过的一些代理信息网站:

  • Pac文件function
  • homepages.tesco.net/~J.deBoynePollard/FGA/web-browser-auto-proxy-configuration.html
  • www.findproxyforurl.com

提前致谢。

我还没有尝试过,但根据sun.com docco,IsInNet函数需要一个主机,而不是IP作为第一个参数。

所以我认为这个:

 if (isInNet(resolved_ip, "172.22.145.0", "255.255.255.0") || isInNet(resolved_ip, "192.168.1.0", "255.255.255.0") || isInNet(resolved_ip, "127.0.0.1", "255.255.255.255")) return "DIRECT"; 

应该改成这样:

 if (isInNet(host, "172.22.145.0", "255.255.255.0") || isInNet(host, "192.168.1.0", "255.255.255.0") || isInNet(host, "127.0.0.1", "255.255.255.255")) return "DIRECT"; 

提示:为了在firefox中debuggingpac文件,你可以使用alert("blah")来debugging消息,然后在错误控制台(工具菜单)中查找它们的打印位置。

好吧,我想我现在正在运行…

我的实际问题是,它从来没有在第一个地方运行。 此外,如果proxy.pac文件有错误,它会决定默默死亡。 所以我回到基础,并试图使用一个真正的骨头proxy.pac文件在我的机器上本地运行一个。 (当我的警报第一次显示时,我感到震惊)。

一旦我有这个工作,我一直一行一行地build立起来,直到我有一些工作为我的networking。

还有一些更重要的信息,这个线程的所有未来的读者!

然后,我把它移回到我原来使用的服务器上,然后遇到了FF和IE的自动检测问题。 经过一些研究,似乎IE7和IE8在自动检测打开时处理不同的pac文件。 (我使用的代理代答方法是DHCP)。 所以IE8似乎需要一个IPCONFIG /续订获得一个新的,而IE7需要一个IPCONFIG /续订和IPCONFIG / FLASHDNS

另外:Firefox只报告我在错误控制台(Ctrl + Shift + J)中的警报,而IE则使用popup警报。

几天后,DHCP 252选项传播到所有工作站。 然而FF似乎仍然有自动检测的困难,所以我只是使用手动点或FoxyProxy附加工作。

感谢大家的意见!

基于Mozilla的浏览器允许您使用file:URL,这使得原型和testing您的.pac文件变得更容易。

我没有在IE中试过这个。