对 wpad 部署的疑虑

对 wpad 部署的疑虑

我安装了一台服务器(在 ubuntu 中),我将部署 wpad 以自动配置计算机上的代理。我已执行以下步骤:

我已经创建了 3 个文件,因为我从某处读到 IE 仅适用于 .dat(现代版本)和 .da(旧版本),而 Chrome(等)仅适用于 .pac:

proxy.pac wpad.da wpad.dat

内容相同...

function FindProxyForURL(url, host) {

// If the requested website is hosted within the internal network, send direct.
if (isPlainHostName(host) ||
    shExpMatch(host, "*.local") ||
    isInNet(dnsResolve(host), "192.168.0.0",  "255.255.0.0") ||
    isInNet(dnsResolve(host), "127.0.0.0", "255.255.255.0"))
    return "DIRECT";

return "PROXY 192.168.0.1:3128";

}

在 Apache 中发布它们,并通过dhcp 选项 252所以我的所有电脑都使用我的 squid 代理

我有两个问题:

  1. 我真的需要这 3 个文件吗?

  2. 文件内容正确吗?

谢谢

答案1

  1. 你应该能够使用一个.dat文件。chrome 和 Firefox 都可以使用它。对于 chrome,有一个内置的方便工具可以告诉你使用了哪个 pac 文件,只需使用此 urlchrome://net-internals/#proxy

  2. 从语法上来说,我认为你应该没问题。从功能上来说,这真的取决于你的需求。 isPlainHostName(host)如果请求中的主机是“纯”的,则不包含句号; shExpMatch(host, "*.local")如果请求 URL 以“.local”结尾,
    isInNet(dnsResolve(host), "192.168.0.0", "255.255.0.0")则请求主机解析为 IP 的范围是 192.168.0.0-192.168.255.255;
    isInNet(dnsResolve(host), "127.0.0.0", "255.255.255.0")与上文相同,只是范围是 127.0.0.0-127.0.0.255。

    如果满足上述任何条件,浏览器将不会使用该目的地的代理,而是被告知直接访问。外部域将始终带有句号,例如“.com”等。同样,.local 通常用于内部网络。而 192.168.0.0/127.0.0.0 是相当标准的私人的IP 范围。所有这些规则只是试图避免使用代理调用到内部网站/应用程序。如果不知道您的网络设置或使用代理的原因,我实际上无法提供太多有关配置的建议。如果您只是希望管理互联网浏览,那么它应该可以解决问题。

相关内容