因为项目的发布过程需要走日常,预发和正式环境,所以服务器端输出结果存在差异时,在bug修复的时候,需要代理正式环境中的代码文件,以做本地调试...
今年尝试过很多代理工具来做页面的本地调试。先后尝试了HttpWatch, fiddler, ucool(hfs实现,内部工具), 也尝试用node实现一个代理工具...鉴于时间的关系,目前只进行了一小部分。
日前在github上找到一个nproxy的代理服务器.地址如下:
https://github.com/goddyZhao/nproxy
readme说明的很详细,这里不做过多介绍。这个工具需要在浏览器上开启局域网代理的功能
因为实在google下测试,所以注明下,google浏览器会调用本地系统的局域网设置,所以win下是直接使用IE的设置
"设置"-->"显示高级设置" --->"网络" --->"更改代理服务器设置" --->"局域网设置"
常常我们设置代理服务器的时候都是勾选,然后进行相关的设置。一般情况下
然而让人郁闷的是,正常情况我都是只对前端资源做代理,这样设置会导致服务器对所有的请求都走代理,如果遇到一些安全验证,或者本地证书无效的情况,甚是麻烦。
那么我们能过滤这些代理吗。可以的。
情况又来了。。你是不是得为你每一个经常访问的网站(有服务器端的证书验证的)设置过滤呢。那在只支持通配符的情况下貌似有点繁琐了(我尝试用正则写过,貌似应该不支持的)。极端情况不一一举例。。。
那么在不增加新工具的方式下,有没有更为简便的方法...
有滴,请注意这个选项。
使用自动配置功能。勾选使用自动配置脚本。。那么这个proxy.pac是神马玩意?
“it's just a script”
1 function FindProxyForURL(url, host){ 2 if (host.indexOf("assets.xxxx.com") > -1) { 3 return "PROXY 127.0.0.1:3722"; 4 } else if (/.*\.xxx.cn/.test(host)) { 5 return "PROXY 127.0.0.1:3722"; 6 } 7 return "DIRECT"; 8 }
是不是很亲切。。yes.没问题。跑起来了。。