在浏览器里手动填代理地址,一填就是全局生效;但如果你见过”自动配置脚本”这个选项,说明遇到了 PAC。它是一份按域名和地址决定”走不走代理”的规则文件,很多”明明设了代理、有的网站却不走”的怪现象,根源都在这份文件上。
PAC 文件到底是什么
本质上是一小段脚本,浏览器对每个请求调用里面的 FindProxyForURL 函数,函数返回 PROXY 代理地址、SOCKS 代理地址或 DIRECT(直连),浏览器照此执行。规则文件可以放在本地,也可以放在服务器上通过 URL 下发——后一种方式在团队里更常见,因为规则更新不用逐台设备改。
为什么不能只用全局开关
全局开关把流量一刀切,而实际业务往往只需要部分流量走代理:内网地址要直连、本地服务要直连、部分外站才要走代理。PAC 的价值就是按规则分流,把”走代理”和”不走代理”的边界画清楚,既省流量,也避免本地请求被无谓地绕远路。
WPAD 自动发现是怎么回事
WPAD 是让浏览器自动寻找代理配置的机制,企业网络常用,用户无需手动填任何地址。但它依赖网络里的自动发现服务,一旦服务返回了过期的规则文件,就会出现两种极端表现:所有网站都走代理,或者代理完全失效——这类问题排查时优先查规则文件本身的时效,而不是急着怀疑线路。
| PAC 返回值 | 含义 | 典型场景 |
|---|---|---|
| PROXY host:port | 走 HTTP 代理 | 需要换出口访问的站点 |
| SOCKS host:port | 走 SOCKS 代理 | 对协议灵活度要求高的客户端 |
| DIRECT | 直连 | 内网、本地、信任站点 |
| PROXY …; DIRECT | 优先代理、失败直连 | 容错型配置 |
- 先确认模式:当前用的是 PAC 而不是全局代理
- 再看规则:目标域名在规则文件里有没有被覆盖
- 再查文件:规则文件本身能否访问(本地路径或 URL)
- 最后对照:临时切全局模式,判断是规则问题还是线路问题
规则文件决定”走不走代理”,代理线路决定”走得好不好”——两者分开排查,问题才分得清。
与 IP 代理的关系:PAC 是代理IP使用中最常见的入口配置之一,规则写得清楚,代理资源才能真正用在该用的流量上,内网和本地请求也不会被白白绕远。所有使用都应遵循平台规则与法律法规,用于正当业务目的。
