必须使用HTTP(S)协议URL配置PAC脚本,禁用file://路径;需部署至Web服务器并验证响应头为application/x-ns-proxy-autoconfig,再在系统网络代理设置中启用该URL。

要在Mac上让系统自动识别哪些网站走代理、哪些直连,必须正确配置PAC(Proxy Auto-Config)脚本地址,否则所有流量会全部绕过或全部拦截,导致部分网站打不开。
准备可访问的PAC文件
确保你手头有一个合法可用的PAC文件,它必须是纯文本格式,且包含标准的FindProxyForURL(url, host)函数。不能是本地磁盘路径未启用HTTP服务的file://地址——macOS 13.0+已默认禁用file://协议加载PAC,强行使用会导致“代理配置不可用”错误。
把PAC文件部署到能被HTTP/HTTPS访问的位置:比如GitHub Pages、Vercel静态托管、公司内网Web服务器,或用Python快速起一个本地HTTP服务:python3 -m http.server 8000,然后把proxy.pac放在当前目录,访问http://localhost:8000/proxy.pac确认能正常下载并返回Content-Type: application/x-ns-proxy-autoconfig响应头。
【必须用HTTP(S)协议地址,不能用file://开头】
在系统网络设置中填入PAC URL
打开“系统设置”→“网络”,在左侧选中当前正在使用的连接(如Wi-Fi或以太网)→点击右下角“详细信息…”→切换到“代理”标签页。
勾选“自动代理配置”,在下方输入框中粘贴你刚才验证过的PAC文件完整URL,例如https://yourdomain.com/proxy.pac或http://192.168.1.100:8000/proxy.pac。
点“确定”→再点“应用”。此时系统会立即尝试获取并解析该PAC脚本,若URL不可达或脚本语法错误,会在网络服务状态栏显示黄色警告图标。
验证PAC是否生效
方法一:打开终端,执行networksetup -getautoproxyurl Wi-Fi(将Wi-Fi换成你实际的服务名),输出应为Enabled: Yes及对应URL。
方法二:访问一个明确被PAC规则设为走代理的域名(如https://www.google.com),同时观察菜单栏右上角是否弹出系统级认证窗口——这是macOS调用PAC后触发代理认证的典型信号。
方法三:在Safari中打开developer.apple.com,然后前往“开发”→“显示网页检查器”→“网络”标签,刷新页面,查看每条请求的“代理”列是否显示proxy.example.com:8080或DIRECT,与你的PAC逻辑一致。
如果Chrome或Edge没走代理,检查浏览器是否被插件(如SwitchyOmega、广告过滤器)覆盖了系统代理——它们会主动忽略macOS的PAC设置。

















