帮助中心

第三方软件 联系我们

代理自动配置 (PAC) 文件

PAC 文件包含指令,指导网页浏览器如何路由 HTTP、HTTPS 和 FTP 网络流量。PAC 文件易于创建和维护,还可根据您组织的需求定制网络流量。

PAC 文件的不同使用方式

PAC 文件可以创建并部署以:

  • 通过精确的代理配置或直接方式将网络流量路由到互联网。
  • 通过代理例外路由特定的网络请求。
  • 设置代理故障切换以保证持续访问互联网。
  • 在不同代理服务器之间平衡网络流量负载。

如何创建 PAC 文件

PAC 文件主要包含 JavaScript 函数 FindProxyForURL 带有两个参数, urlhost。这些参数用于确定浏览器应访问的代理服务器及备选代理选项。URL 包含被访问的完整路径(例如,http://www.mydomain.com)。host 参数包含主机名或 IP 地址。

return 语句指定指导网页浏览器是否转发流量到代理或绕过代理。例如, return "PROXY proxy1.mydomain.com:8080; ".

使用带注释的参数指定更具体的细节,比如哪些主机需要通过代理。例如, // 为内部主机绕过代理.

参考以下案例创建或修改 PAC 文件。

案例 1:通过代理服务器路由网络流量,如果无法建立代理连接则建立直接连接:

function FindProxyForURL (url, host)
{
return "PROXY proxy.mydomain.com:8200; DIRECT";
}
							

案例 2:直接路由内网流量(如 intranet.mydomain.com),其他请求通过代理服务器:

function FindProxyForURL(url, host) 
{ 
if (isPlainHostName(host) || dnsDomainIs(host, "intranet.mydomain.com")) 
 return "DIRECT"; 
 else 
 return "PROXY proxy.mydomain.com:8200; DIRECT";
}
						

案例 3:设置代理服务器故障切换方案:

function FindProxyForURL(url, host) 
{ 

//
//If they only have a specified host name, go directly.
//
if (isPlainHostName(host) || dnsDomainIs(host, ".mydomain.com"))
return "DIRECT"; 
else if (shExpMatch(host, "*.com")) 
return "PROXY proxy2.mydomain.com:8200; " +
"PROXY proxy4.mydomain.com:8200"; 
else 
return "PROXY proxy3.mydomain.com:8200; " +
"PROXY proxy4.mydomain.com:8200"; 
 } 

案例 4:将特定 IP 地址重定向到代理服务器:

Case 4: To redirect specific IP addresses to a proxy server: 

function FindProxyForURL(url, host) 
{ 
if (myIpAddress() == "999.99.999.99") { 
return "PROXY proxy.mydomain.com:8200"; 
 } 
 else { 
 return "DIRECT"; 
           } 
} 
						

案例 5:基于通信协议指定代理:

function FindProxyForURL(url, host)
 {
  if (url.substring(0, 5) == "http:") {
  return "PROXY proxy1.mydomain.com:8200"; 
 } 
 else if (url.substring(0, 4) == "ftp:") { 
 return "PROXY proxy2.mydomain.com:8200"; 
 } 
 else if (url.substring(0, 6) == "https:") { 
 return "PROXY proxy3.mydomain.com:8200"; 
 } 
 else {
  return "DIRECT"; 
           } 
 } 
 

如何部署 PAC 文件

PAC 文件可以在浏览器设置中手动配置,也可以使用 Web-Proxy 自动发现 (WPAD) 协议自动配置。WPAD 协议通过 DHCP 或 DNS 来定位 PAC 文件。终端使用的浏览器启动时会搜索 Web 服务器以查找 PAC 文件位置的信息。浏览器向本地 DHCP 服务器发送查询,以找到 PAC 文件位置。如果 DHCP 中的代理自动发现失败,浏览器会使用 DNS 来检测 PAC 文件位置。

在网页浏览器中手动配置 PAC 文件

Google Chrome、Internet Explorer 和 Windows 版本的 Safari 在未显式设置时,遵循 Windows 代理设置配置。手动输入 PAC 文件地址,请按以下步骤操作:

  • 进入 开始 > 设置 > 代理.
  • 关闭“自动检测设置”选项。
  • 打开“使用设置脚本”并输入 PAC 文件地址。
  • 点击保存。

按以下步骤手动配置 Firefox 的代理设置:

  • 在浏览器中,进入 工具 > 选项.
  • 点击 高级。选择 设置连接.
  • 选择 自动检测此网络的代理设置.
  • 点击 确定.

对大量终端手动配置代理较为繁琐。推荐使用 WPAD 协议自动配置代理设置。

如何设置 WPAD

设置 WPAD 协议包括四个步骤:将 PAC 文件托管在 Web 服务器上、设置 DHCP、配置 DNS 设置及实施组策略。

注意:Opera 不支持 WPAD 协议。

1. 在 Web 服务器上托管 PAC 文件

修改 PAC 文件后,将文件重命名为“wpad.dat”。在希望托管 PAC 文件的 Web 服务器上执行以下步骤:

  • 登录 Web 服务器。
  • 进入 控制面板 > 系统和安全 > 管理工具 > Internet 信息服务 (IIS) 管理器.
  • 展开 服务器名称 ,右键单击域名,选择 属性.
  • 在 HTTP 头标签页,点击 MIME 类型。点击 新建.
  • 输入信息 - 扩展名:.dat, MIME 类型:application/x-ns-proxy-autoconfig。
  • 点击 确定.

2. DHCP 配置

按以下步骤确保 DHCP 服务器能检测到 wpad.dat 文件。

  • 进入 开始 > 管理程序 > DHCP.
  • 在控制台树中右键点击所需 DHCP 服务器。点击 设置预定义选项添加.
  • 输入以下信息 - 名称:WPAD, 代码: 252, 数据:字符串。点击 确定.
  • 字符串 字段中输入 PAC 文件的 URL,例如 http://webserver.domain.com/wpad.dat.
  • 右键点击 服务器选项。选择 配置选项。确保 选项 252 已选中。

创建选项 252 记录后,按以下步骤启用 DHCP 作用域选项:

  • 进入 开始 > 管理程序 > DHCP.
  • 右键点击 作用域选项。点击 配置选项。选择 高级.
  • 供应商类别中,选择 标准选项.
  • 可用选项,点击 252 代理自动发现选项。点击 确定.

3. 在 DNS 服务器中配置 A 记录

  • 进入 开始 > 程序 > 管理工具 > DNS.
  • 右键点击所需的正向查找区域。点击 新建主机(A).
  • 输入信息 - 名称:wpad, IP 地址:托管 PAC 文件的网页服务器的 IP 地址。点击 创建记录.

4. 网页浏览器代理配置

使用组策略将自动代理检测推送到所有终端。按照以下步骤配置组策略:

  • 打开组策略管理控制台。右键点击 组策略对象。点击 新建.
  • 输入信息,例如, 名称:代理自动配置。点击 确定.
  • 右键点击 代理自动配置。点击 编辑.
  • 在组策略管理编辑器中,进入 用户配置 > 首选项 > 控制面板设置。右键点击 Internet 设置 并点击 新建。从下拉列表中选择首选浏览器版本。
  • 属性 对话框,转到 连接 选项卡并选择 局域网设置.
  • 勾选 自动检测设置 复选框。点击 确定.
  • 点击 应用 然后 确定 关闭属性对话框。
  • 将组策略对象链接到域中的目标组织单位以强制执行策略。

没有找到您想要的内容?

  • 访问我们的社区

    在论坛发布您的问题。

     
  • 请求其他资源

    向我们发送您的需求。