免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6039 | 回复: 1
打印 上一主题 下一主题

[proxy] 求教:pac脚本是什么东西?是squid里的吗?怎么用啊? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-12-08 08:27 |只看该作者 |倒序浏览
如题!那位老大能给点儿资料?

论坛徽章:
0
2 [报告]
发表于 2003-12-09 20:56 |只看该作者

求教:pac脚本是什么东西?是squid里的吗?怎么用啊?

[quote]原帖由 "yoky"]如题!那位老大能给点儿资料?[/quote 发表:


很多时候你在Internet接入时只使用代理方式而非NAT,那么给使用代理的客户终端设置代理服务器将是一件很烦琐的事情,特别是当代理服务器进行各种改动(比如服务器IP地址,服务端口等等变了)后,你不得不对通知所有的客户重新进行设置。Proxy Auto-Config(PAC)脚本将帮助你解决这些问题。

也许你已经注意到Internet Explorer的代理设置里面有一个“使用自动配置脚本”的选项,这里的自动配置脚本指的就是PAC脚本。这是一种以.pac为扩展名的JavaScript脚本,我们可以把它放在内部网络的某个web服务器上,设置客户端IE浏览器把“自动配置脚本选项”指向它(比如http://192.168.100.1/proxy.pac),完成集中设置代理配置的工作。

PAC脚本还可以根据用户访问请求的不同设置不同的代理策略,比如,用户访问内部网的某台服务器时,PAC脚本可以告诉浏览器该访问将不通过代理服务器,而用户访问的是内部网以外的地址时,PAC脚本告诉浏览器这个访问请求使用代理。

PAC脚本另外一个重要的应用是多台代理服务器并存的情况下,通过pac脚本的控制:用户随机选择使用多台代理服务器中的任意一台来达到流量负载均衡的目的;
      管理员通过PAC脚本控制用户使用和不使用某台代理服务器,这样可以空出时间对代理服务器进行维护;让服务器工作在主备模式,当主服务器宕机时,会自动切换到其它备用服务器而不会中断服务;根据访问目的地的不同,自动选择最佳代理服务器。

PAC脚本中必须定义一个名为FindProxyForURL的函数,这个函数会被浏览器自动调用。其格式如下:

function FindProxyForURL(url, host)

{

    ……

}



下面给出一个实际应用中使用过的简单例子,这里只有1台squid代理服务器:134.40.22.48,服务端口是3128,脚本中根据客户端IP地址判断用户通过何种途径访问Internet或其他资源:



function FindProxyForURL(url, host)

{

     if (isInNet(myIpAddress(), "10.21.193.0", "255.255.255.0") {

          return "DIRECT";

     } else {

          return "ROXY 134.40.22.48:3128";

     }

}



根据上面的脚本,整个局域网中,除了地址是10.21.193.0/255.255.255.0的终端,其他终端访问Internet都要经代理服务器134.40.22.48。



灵活运用pac脚本可以为你的网络维护工作带来很多方便。关于Proxy Auto-Config文件的格式和相关函数这里不再叙述,你可以访问Netscape网站上提供的文档来了解更多:

http://wp.netscape.com/eng/mozilla/2.0/relnotes/demo/proxy-live.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP