我已经部署了一个 wpad.dat。除了一些同时连接到两个网络的用户(以太网和另一个模拟传真的模拟调制解调器的网络适配器)之外,它的工作原理就像一个魅力。我也用我的笔记本对此进行了测试。当我通过电缆连接到 LAN 并同时通过 WiFi 连接到另一个网络时,我无法连接到互联网。当我直接提供代理地址时,它可以工作。
为了解决我的问题,我必须如何更改脚本?
function FindProxyForURL(url, host) {
if (isInNet(host, "127.0.0.1", "255.255.255.255"))
return "DIRECT";
if (shExpMatch(url, "*.intranet.*/*"))
return "DIRECT";
if (isInNet(myIpAddress(), "172.0.0.0", "255.255.0.0"))
return "PROXY 10.1.1.254:8080";
return "DIRECT";
}
@Palmin 我遇到了同样的问题,幸运的是在这个 social.technet 线程中偶然发现了一个解决方案!Windows 返回给浏览器
myIpAddress()
实现的适配器 IP 的优先级可以通过更改IP 指标来修改。我手动将我的物理适配器的指标设置为 1、2 等,并将 VirtualBox Host-Only Network 放在最后。它现在就像一个魅力。
我为其他在同一问题上苦苦挣扎的人的具体配置/旅程:
使用无线方式访问 Internet 上的网页总是失败。当使用有线连接时,它们工作得很好,并且始终可以访问 Intranet 页面。禁用 VirtualBox Host-Only 网络适配器解决了这个问题。手动配置我的浏览器以始终使用代理(而不是自动检测)也解决了这个问题。
为了确认 PAC 问题的性质,我使用了pactester实用程序来测试
wpad.dat
我的物理地址与 VirtualBox 的行为。正如预期的那样,代理脚本返回私有 IPv4 地址的直接连接。默认的 VirtualBox Host-Only IPv4 地址在该192.168.x.x
范围内。修改适配器优先级并没有解决我的问题。在我修改每个适配器的指标之前,它并没有完全(并且干净地)解决。
我有一个解决方案,尤里卡:)
我不得不更改网络接口的优先级。如果多个接口连接到某个网络,则可以访问代理的接口 (LAN) 必须是第一个接口。
这导致了我的解决方案:http ://www.geurtsrus.com/gerke/2005/01/proxy-auto-configuration-blues.html
段落开头:感谢 Oliver Presland(微软英国)...
这可能不起作用(抱歉)。PAC 的设计是假设有一个单一的主接口,并且您可以告诉它选择应该使用该主接口上的哪个代理。
最可能的原因是您的代理地址在“错误”接口的地址范围内。你必须提供 netstat -rn 让我弄清楚。