前段时间由于需要,要搭建一个web-cache服务器,开始打算用apache的mod_proxy来实现,结果发现在对URL的处理上,很让我们难看。
比如,我们我们的proxy地址是:cache.test.com,实际的地址是:www.test.com
下面的代码:
点击something时,
他居然给他链接到的还是http://www.test.com/index.php,而不是我期望的http://cache.test.com/index.php
而且,就效率来说,这个不是很理想。
后来,我们改用专业的squid来做这个
不过,在网上找了很多资源,都是squid2.5或者以前的版本,在squid.conf里面的定义根本就不一样。特别是国内的资料,都陈旧的不行了。找到的东西,在2.6里面根本就不能用。
最后,在这个地方找到了相关的资料
http://www.deckle.co.za/squid-users-guide/Accelerator_Mode#Accelerator_Configuration_Options
原来,从squid2.6开始,就全面不支持httpd_accel_*系统的定义,而将其全部更在了http_port的选项里面了(说实在的,现在的squid配置文件看起来比以前规范多了,以前我一看就头通,现在有条理多了)。
最简单的透明代理,我们只需要写下这句一句:
然后,将你要访问的网站指向这个squid服务器所在的地址就OK了
如果你要用来做专门一个网站的cache server,则可以用defaultsite选项,比如:
这样的话,不管你要通过个我proxy server访问什么网站,都会被转发到www.test.com,不是专用的web cache建议别用
其他的需求的话,还是可以用acl来控制的