近期在给公司分支办公室配置自动代理配置的时候发现所有升级了Windows 10的电脑自动代理配置全部无效了,后来一番了解下来再微软MSDN博客上查到微软从Internet Explorer(IE)11版本开始,已经弃用本地PAC文件的方式(也就是我们说的“file://”方式)配置自动代理了,只能通过http或者https方式加载代理自动配置的PAC文件,而Windows 10默认安装的便是IE11版本。
那么这个问题怎么解决呢?其实很简单,配置一台web服务器挂pac文件咯。首先就是开启服务器的IIS功能,当然也可以在任意一台PC上开启,只要这台PC能够被内网访问到就可以了,不过个人还是比较建议使用服务器,我们这个需求里只是需要提供一个http或者https的访问,所以IIS里不需要开太多的服务,按照如图所示开就可以了。
这个界面的开启方式是在“控制面板”中“启用或关闭Windows功能”里。点击确定,等待安装完成,完成后在“Windows 管理工具”里找到“Internet Information Service (IIS)管理器”并打开。展开左边的选项在“网站”上点击右键,“添加网站”,如图所示。
随便命一个名字(如“Proxy”)填在“网站名称”里,物理路径就是PAC文件所在的文件目录,其他的可以保持不变,端口最好改成其他端口,比如我们这里用的是8088端口,其他项保持默认即可,如图所示。
点击确定后网站启动,尝试打开浏览器输入“http://localhost/proxy.pac”(proxy.pac就是上面选择的物理路径里面需要用到的代理自动配置文件),如果出现如图所示的提示、下载文件的提示或者proxy.pac文件的内容,说明配置已经成功了,一般情况下会出现如图所示的提示,另外两种情况不是很常见,如果碰到另外两种情况,那么下面的步骤可以不做,直接尝试应用,看看是否生效,如果不生效就继续下面的步骤。
出现了这个提示虽然可以证明我们配置http服务器成功了,但是还是没有生效的,因为当客户端浏览器向服务器请求pac文件的时候,服务器会发现它“不认识”PAC文件是个什么文件,然后就直接返回给浏览器“我找不到这个文件”,那么要怎么解决呢?既然服务器“不认识”PAC文件是什么文件,那么我们“告诉”服务器PAC文件是个什么文件不就行了么?告诉的方法就是添加MIME类型。
在IIS管理器中点击我们新建的这个网站,在功能视图里找到“MIME类型”,如图所示。
双击“MIME类型”打开MIME类型编辑页面,点击右上方的“添加”链接,按照如图所示的方法添加PAC的MIME类型,注意pac前面有一个“.”这个不能漏了。
text/plain其实是.txt文本文件的MIME类型,在这里pac文件只需要能被客户浏览器访问到就可以了,理论上添加什么样的MIME类型都是可以的,我们这里添加text/plain类型只是为了浏览器上可以直观的看到pac文件的内容,也便于日后排错。点击确定添加完成后刷新一下刚才那个报错的提示页面,是不是看到了PAC文件的内容?如果看到了PAC文件的内容那么恭喜你,配置完成了,如果没看到,那么再检查一下所有的步骤,看看是不是漏了步骤没有做。
服务器配置完了,那么下一步要配置的就是客户端了,在客户端浏览器上打开Internet选项,找到“连接”选项卡,点击“局域网配置”按钮,在弹出的窗口中按照如图所示的方法填写,图中抹去的部分是服务器的IP地址,根据实际情况填写就好。
点击确定,自动代理配置文件就在客户浏览器上配置完毕了。
那么就有人会问了,我要怎么测试我这个配置是已经生效了的呢?有的技术人员本身就在需要代理才能上网的环境内,这个测试很简单了,看看能不能上网就行了,有的技术人员不在代理环境内,像我们这的情况,我所在的办公室是可以直接通过核心机房上互联网的,但是分支机构的办公室需要通过内网到核心机房的代理上再访问互联网,这种情况下测试可以通过切断我自己用的PC的互联网路由,保留到代理服务器的路由上进行测试。
假设我现在用的PC的网关是172.16.1.1,代理服务器的IP地址是192.168.100.100,那么我可以这么做:
1、将我用的PC网卡改为手动配置IP地址,将IP地址和子网掩码配置好,当然配置的IP地址跟默认网关172.16.1.1需要在同一个网段可以相互通信。
2、默认网关留空,注意默认网关必须留空,否则的话代理是否生效了就看不出效果了。
3、添加指向代理服务器的静态路由,操作方法是以管理员身份运行cmd(命令提示符),然后输入命令route add 192.168.100.100 mask 255.255.255.255 172.16.1.1,按回车确认,会提示路由增加成功。
4、分别ping 172.16.1.1和192.168.100.100,确定到网关和到代理服务器都是通的。
5、配置IE代理,没有配置代理之前外网任何网站都是无法访问的,配置代理之后IE就可以打开外网网站了。
6、第五步所述的现象就是测试时候的现象,那么就说明这个测试结果通过,配置成功了。
以上就是在IE11不支持本地PAC文件作为自动代理配置文件应用在浏览器上的解决方案,由于篇幅限制以及不可预测的原因,文章中不可能将所有的可能性都列出来,如果在实际操作的时候碰到任何问题,欢迎在下面留言讨论。
,