Aug 23 2011

squid 的header/body编辑功能 续2

Category: 技术ssmax @ 16:57:45

今天终于有时间再搞一下squid的事情了,呵呵

书接上一回,下载GreasySpoon,解压,因为是java包,其实就可以直接运行了。

运行以后自动监听8088端口,这个是管理端口,使用admin/admin登录后就可以进行管理。

界面做的还不错,管理功能也很全面,里面直接就可以写script,有三种方式,EcmaMscript/java/Ruby,我比较熟悉java,所以就直接用java了,呵呵

其中一些script的控制是放在注释头的,具体可以看看

http://greasyspoon.sourceforge.net/scripts_resp.html

修改response还是比较简单的,java封装好了基本的方法,主要用到几个:

httpMessage.deleteHeader

httpMessage.rewriteHeader

httpMessage.addHeader

httpMessage.setBody

这几个基本囊括了修改response头所需的东东了。

服务器默认只是支持

GreasySpoon.mimesupported=html htm xml xhtml wml

可以修改services.properties文件,加上你所想要的文本类型,如:

GreasySpoon.mimesupported=html htm xml xhtml wml css javascript

 

经过查看源代码,这个判断会直接获取content-type 头,然后判断是否contains,所以随便写下就好了,另外最好设置一下

GreasySpoon.mimemagic=off

这样它就不会跑mime的预判,这个预判是对那些头设置错误的请求来说的,一般http请求现在都有正确的content-type 头了,所以关掉还省点资源吧。。。

还有一些配置也是看看代码看看文档就好了,自己懂的语言看代码没有这么痛苦。。。

开启以后,设置一下squid的icap相关参数,直接就成功了,很好很好。哈哈哈