用squid2.6反向加速多个web网站

squid2.5的配置就不用介绍了
这里的题目是“squid2.6
2.6下配多个站点的反向加速远没有2.5时的简单
就因为这
手头好些squid2.5没有升级到2.6呢
到现在2.6都成料”old“版本了
(stable的是2.7和3.0)
后来发现其实弄明白了也还是挺简单的
主要就是”http_port“、”cache_peer“和”cache_peer_domain“这三句配置
首先

http_port xxx.xxx.xxx.xxx:80 vhost

这里的xxx.xxx.xxx.xxx是这台squid机器的公网地址
如果要squid绑定所有端口的话
可以简写成

http_port 80 vhost

这里vhost是基于名称的虚拟主机的意思
如果有需要加速基于ip(其实就是基于tcp端口)的虚拟主机
则后面再加个vport即可
然后再就是cache_peercache_peer_domain的配合了
首先,给每一个squid后台的real server(web server)建立一个cache_peer
像这样:

cache_peer xxx.xxx.xxx.xxx parent 80 0 no-query originserver

(这里的xxx.xxx.xxx.xxx是real server的ip,当然写域名也可以,只要能够被squid的机器正确解析为ip地址)
80是real server的服务端口,一般应该是80吧
因为后端real server一般应该是web server,不是squid,所以自然没有icp端口之说,所以icp端口设为0
最后的originserver正是指出了,这是台原始(内容)服务器,我们习惯称之为real server

再然后在cache_peer_domain里将由squid提供加速服务的域名分别扔给上面定义的cache_peer
注意:貌似每一个cache_peer必须至少有一个cache_peer_domain与之相对应
像这样

cache_peer_domain xxx.xxx.xxx.xxx www.domain.cn

或者是

cache_peer_domain xxx.xxx.xxx.xxx .domain.cn

上面的xxx.xxx.xxx.xxx是后台real server的ip地址,且是在cache_peer中定义过的

到这里就差不多了
剩下的无非是用acl权限控制什么的
我多半喜欢用dstdomain来定义acl
除了这个acl的都不让访问
呵呵
因为一般反向加速模式的squid都是服务于自己公司的网站
而自己公司的域名一般也就那么两个
最重要的是天知道哪天某个公司的域名要加到squid的服务里来
哪天又要挪出去
这样设好了就一劳永逸

Discussion Area - Leave a Comment




*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word