最新消息:

squid中cache_peer和cache_peer_domain的处理规则和顺序

head admin 6871浏览 0评论

squid中cache_peer和cache_peer_domain的处理规则和顺序:

环境介绍:   squid3监听在80端口,IP为192.1.1.126

           apache监听在8080端口,有2个虚拟主机: bbs.test.com和bbs2.test.com

          其中bbs.test.com虚拟主机下只有一个index.html,内容为bbs

                bbs2.test.com虚拟主机下只有一个index.html,内容为bbs2

         squid(前)+apache(后)

1. 如果只配置了cache_peer,没有配置cache_peer_domain,则所有的请求默认都会匹配第一个cache_peer,如果第一个匹配不成功,则匹配第二个,如下的配置,默认都会请求转发到bbs

cache_peer 127.0.0.1 parent 8080 0 no-query connect-timeout=150 max-conn=384 originserver name=bbs
cache_peer 127.0.0.1 parent 8089 0 no-query connect-timeout=150 max-conn=384 originserver name=bbs2
#cache_peer_domain bbs .test.com
#cache_peer_domain bbs2 bbs2.test.com

2.   如下的配置中,访问bbs2.test.com显示的是bbs2,因为.test.com是通配符

 cache_peer 127.0.0.1 parent 8080 0 no-query connect-timeout=150 max-conn=384 originserver name=bbs
cache_peer_domain bbs     .test.com # .test.com是通配符

3.  cache选择的顺序    #来自php-oa

选择新鲜cache目标的优先级是:
local cache
parent
sibling
direct

4.  故意将bbs2.test.com的父节点的端口填错,且把通配符给去掉,则访问bbs2.test.com返回错误页面,如果加上通配符,则能返回正常页面.说明当遇到错误页面后,squid还是会继续向下匹配的,如果匹配到最后一项,还没匹配成功,则返回错误页面

cache_peer 127.0.0.1 parent 8080 0 no-query connect-timeout=150 max-conn=384 originserver name=bbs
cache_peer 127.0.0.1 parent 8087 0 no-query connect-timeout=150 max-conn=384 originserver name=bbs2
cache_peer_domain bbs2 bbs2.test.com
cache_peer_domain bbs bbs.test.com

 5. 可以很多cache_peer_domain 指向同一个cache_peer,即多个域名访问同一个源,如下test.com和test1.com都指向了bbs

cache_peer_domain bbs .test.com
cache_peer_domain bbs .test1.com

6. 如果cache_peer 的最后指定了name=bbs2,则只接收cache_peer_domain里设置的bbs2的域名,如果没有指定的话,则归所有域名共用

cache_peer 127.0.0.1 parent 8089 0 no-query connect-timeout=150 max-conn=384 originserver name=bbs2
cache_peer 127.0.0.1 parent 8089 0 no-query connect-timeout=150 max-conn=384 originserver

cache_peer_domain bbs .test.com
cache_peer_domain bbs2 bbs2.test.com

 

7.  总结:

在这里可以将squid服务当做一个真实的客户端去访问apache,当apache返回什么,squid就返回什么给用户.

squid是按照自上往下依次匹配,匹配成功,则停止cache_peer_domain的匹配,如果匹配失败,继续匹配,知道最后也没匹配成功,则返回错误页面

 

转载请注明:爱开源 » squid中cache_peer和cache_peer_domain的处理规则和顺序

您必须 登录 才能发表评论!