Windows 10 不会读取由文件协议引用的 PAC 文件

本文提供的解决方案解决了以下问题:无法通过 Internet Explorer 或 Microsoft Edge 读取文件协议引用的 PAC 文件。

原始产品版本:  Windows 10、Microsoft Edge、Internet Explorer 11
原始 KB 数:  4025058

症状

请考虑以下情况:

  • 您在 Windows 10 上配置了 Microsoft Internet Explorer 11 或 Microsoft Edge,以使用 "使用自动配置脚本" 选项。

  • 您正在测试或部署代理自动配置 (PAC) 文件。 您要将文件存储在本地位置,如C:\temp\proxy.pac

  • 您在 " Internet 设置" 中的 "使用自动配置脚本" 选项中指定了文件位置(使用 "文件" 协议)。

  • 您创建了以下注册表子项:

    HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\  
    Value: EnableLegacyAutoProxyFeature  
    Type:REG_DWORD  
    Data:1
    

在这种情况下,该 PAC 文件不是由 Internet Explorer 或 Microsoft Edge 读取的。

原因

出现此问题的原因是,基于 Windows 10 的计算机上的 Internet Explorer 和 Microsoft Edge 使用 WinHttp 代理服务检索代理服务器信息。 WinHttp 代理服务不支持对 ftp:// PAC 文件使用或的 file:// 协议。

解决方案

若要解决此问题,请在 web 服务器上承载 PAC 文件,然后使用 http 协议引用它。

备注

必须为 web 服务器上的 PAC 文件指定application/x-ns-代理-自动配置MIME 类型,才能使 WinHttp 代理服务使用该 pac 文件。
如果不是,则 PAC 文件的扩展名必须为 . .dat.jsPACjvs