cache_peer和cache_peer_domain详解
2015-07-07 23:07
956 查看
acl allowuser 192.168.1.1/32
cache_peer 192.168.1.50 parent 81 0 no-query originserver
weight=1 name=a
cache_peer 192.168.1.50 parent 82 0 no-query originserver weight=1 name=b
cache_peer 192.168.1.50 parent
80 0 no-query originserver weight=1 name=c
cache_peer_domain a www.serverA.com
cache_peer_domain b www.serverB.com
cache_peer_domain c www.serverC.com
#以上六行配置表示:
#从客户端过来的请求,如果是 www.serverA.com,则Squid向
Server 192.168.1.50的端口81发送请求;
#从客户端过来的请求,如果是 www.serverB.com,则Squid向
Server 192.168.1.50的端口82发送请求;
#从客户端过来的请求,如果是 www.serverC.com,则Squid向
Server 192.168.1.50的端口80发送请求;
#换句话说:设定不同域名转发到不同的cache_peer上,如果没有这项.不同的域名可能被分发到同一台服务
器(或同一台服务器的端口)上.
#name=a表示给cache_peer一个别名
cache_peer_access a allow all
cache_peer_access b allow all
cache_peer_access c allow all
#设置访问权限,允许所有外部客户端访问 a b c
#如果是cache_peer_access a allow allowuser
#表示只允许allowuser访问 www.serverA.com
另一个例子:
acl user1 src
192.168.2.68/32
acl user2 src 192.168.2.94/32
#定义两个user IP
cache_peer 192.168.2.172 parent 80 0 no-query no-digest originserver name=www1 sourcehash
cache_peer 192.168.2.173 parent 81 0 no-query no-digest originserver name=www2 sourcehash
cache_peer_domain www1 www.domain.com
cache_peer_domain www2 www.domian.com
#表明对www.domian.com的请求,squid向192.168.2.172的80端口和192.168.2.173的81端口发出请求
cache_peer_access www1 allow user1
cache_peer_access www2 allow user2
#允许user1访问192.168.2.172的80端口
#允许user2访问192.168.2.173的81端口
设置子父代理的cache_peer:
如果要设置父级的代理服务器,例如proxy.test.edu.cn那么可以这样配置
在#cache_peer hostname type 3128 3130 之下加入
cache_peer proxy.test.edu.cn parent 3128 3130 no-query no-netdb-exchange
如果要设置同级的代理服务器,如:192.168.1.41 192.168.1.42则可以这样来配置
cache_peer 192.168.1.41 sibling 3128 3130 proxy-only
....
注意目前各单位施行代理服务器分级管理,设置父级代理服务器,还必须取得上层单位的同意
说明:
(1)命令cache_peer的定义格式是:
cache_peer hostname type 3128 3130
hostname 是用来指定获取缓冲的PROXY主机的名字
type 是PROXY主机的类型,有以上PARENT SIBLING两种
3128:HTTP_PORT
3130:ICP_PORT
(2)附加配置选项(注意应为小写,配置时)
NO-QUERY:不做查询操作,直接获取数据
NO-NETDB-EXCHANGE:代理服务器之间不交互信息
NO-DIGEST:代理服务器之间不做摘要表查询,直接用ICP协议沟通(同级代理)
PROXY-ONLY:直接获取对方缓冲,转交给代理服务器的客户端,而不存入本地
ROUND-ROBIN:如果设置数部上层服务器,那么轮流查询父级服务器
LOGIN=USER:PASSWD:要求对方做帐号及密码验证,例如
cache_peer 192.168.1.41 sibling 3128 3130 login=kao:123456
举例:
以下为squid1机器上的配置
icp_port 3130
acl domian dst www.domian.com
acl squid2 src xx.xx.xx.xx
acl squid3 src xx.xx.xx.xx
http_access allow squid2
http_access allow squid3
1.配置 squid2、squid3 为其邻居,当 squid1 在其缓存中没有找到请求的资源时,通过 ICP 查询去其邻居中取得缓存
cache_peer squid2 sibling 80 3130
cache_peer squid3 sibling 80 3130
2.squid1的三个父节点,originserver 参数指明是源服务器,round-robin 参数指明 squid 通过轮询方式将请求分发到其中一台父节点;squid 同时会对这些父节点的健康状态进行检查,如果父节点down了,那么 squid 会从剩余的 origin 服务器中抓取数据。
cache_peer 192.168.1.1 parent 8080 0 no-query originserver round-robin name=www1
cache_peer 192.168.1.2 parent 8080 0 no-query originserver round-robin name=www2
cache_peer 192.168.1.3 parent 8080 0 no-query originserver round-robin name=www3
3.将 www.domian.com 域的请求通过 RR 轮询方式转发到三个父节点中的一个。
cache_peer_domain www1 domian
cache_peer_domain www2 domian
cache_peer_domain www3 domian
4.always_direct会导致所有请求都直接发送到原始服务器。而不会去查询sibling,对于www.domian.com这个域名不需要直接出去,而是要询问sibling。其余的域名,squid依然通过hosts去进行转发
always_direct allow !domain
cache_peer 192.168.1.50 parent 81 0 no-query originserver
weight=1 name=a
cache_peer 192.168.1.50 parent 82 0 no-query originserver weight=1 name=b
cache_peer 192.168.1.50 parent
80 0 no-query originserver weight=1 name=c
cache_peer_domain a www.serverA.com
cache_peer_domain b www.serverB.com
cache_peer_domain c www.serverC.com
#以上六行配置表示:
#从客户端过来的请求,如果是 www.serverA.com,则Squid向
Server 192.168.1.50的端口81发送请求;
#从客户端过来的请求,如果是 www.serverB.com,则Squid向
Server 192.168.1.50的端口82发送请求;
#从客户端过来的请求,如果是 www.serverC.com,则Squid向
Server 192.168.1.50的端口80发送请求;
#换句话说:设定不同域名转发到不同的cache_peer上,如果没有这项.不同的域名可能被分发到同一台服务
器(或同一台服务器的端口)上.
#name=a表示给cache_peer一个别名
cache_peer_access a allow all
cache_peer_access b allow all
cache_peer_access c allow all
#设置访问权限,允许所有外部客户端访问 a b c
#如果是cache_peer_access a allow allowuser
#表示只允许allowuser访问 www.serverA.com
另一个例子:
acl user1 src
192.168.2.68/32
acl user2 src 192.168.2.94/32
#定义两个user IP
cache_peer 192.168.2.172 parent 80 0 no-query no-digest originserver name=www1 sourcehash
cache_peer 192.168.2.173 parent 81 0 no-query no-digest originserver name=www2 sourcehash
cache_peer_domain www1 www.domain.com
cache_peer_domain www2 www.domian.com
#表明对www.domian.com的请求,squid向192.168.2.172的80端口和192.168.2.173的81端口发出请求
cache_peer_access www1 allow user1
cache_peer_access www2 allow user2
#允许user1访问192.168.2.172的80端口
#允许user2访问192.168.2.173的81端口
设置子父代理的cache_peer:
如果要设置父级的代理服务器,例如proxy.test.edu.cn那么可以这样配置
在#cache_peer hostname type 3128 3130 之下加入
cache_peer proxy.test.edu.cn parent 3128 3130 no-query no-netdb-exchange
如果要设置同级的代理服务器,如:192.168.1.41 192.168.1.42则可以这样来配置
cache_peer 192.168.1.41 sibling 3128 3130 proxy-only
....
注意目前各单位施行代理服务器分级管理,设置父级代理服务器,还必须取得上层单位的同意
说明:
(1)命令cache_peer的定义格式是:
cache_peer hostname type 3128 3130
hostname 是用来指定获取缓冲的PROXY主机的名字
type 是PROXY主机的类型,有以上PARENT SIBLING两种
3128:HTTP_PORT
3130:ICP_PORT
(2)附加配置选项(注意应为小写,配置时)
NO-QUERY:不做查询操作,直接获取数据
NO-NETDB-EXCHANGE:代理服务器之间不交互信息
NO-DIGEST:代理服务器之间不做摘要表查询,直接用ICP协议沟通(同级代理)
PROXY-ONLY:直接获取对方缓冲,转交给代理服务器的客户端,而不存入本地
ROUND-ROBIN:如果设置数部上层服务器,那么轮流查询父级服务器
LOGIN=USER:PASSWD:要求对方做帐号及密码验证,例如
cache_peer 192.168.1.41 sibling 3128 3130 login=kao:123456
举例:
以下为squid1机器上的配置
icp_port 3130
acl domian dst www.domian.com
acl squid2 src xx.xx.xx.xx
acl squid3 src xx.xx.xx.xx
http_access allow squid2
http_access allow squid3
1.配置 squid2、squid3 为其邻居,当 squid1 在其缓存中没有找到请求的资源时,通过 ICP 查询去其邻居中取得缓存
cache_peer squid2 sibling 80 3130
cache_peer squid3 sibling 80 3130
2.squid1的三个父节点,originserver 参数指明是源服务器,round-robin 参数指明 squid 通过轮询方式将请求分发到其中一台父节点;squid 同时会对这些父节点的健康状态进行检查,如果父节点down了,那么 squid 会从剩余的 origin 服务器中抓取数据。
cache_peer 192.168.1.1 parent 8080 0 no-query originserver round-robin name=www1
cache_peer 192.168.1.2 parent 8080 0 no-query originserver round-robin name=www2
cache_peer 192.168.1.3 parent 8080 0 no-query originserver round-robin name=www3
3.将 www.domian.com 域的请求通过 RR 轮询方式转发到三个父节点中的一个。
cache_peer_domain www1 domian
cache_peer_domain www2 domian
cache_peer_domain www3 domian
4.always_direct会导致所有请求都直接发送到原始服务器。而不会去查询sibling,对于www.domian.com这个域名不需要直接出去,而是要询问sibling。其余的域名,squid依然通过hosts去进行转发
always_direct allow !domain
相关文章推荐
- Android之使用Http协议实现文件上传功能
- 100 个最佳 Ubuntu 应用(中)
- 在 AppImage、Flathub 和 Snapcraft 平台上搜索 Linux 应用
- 24 个必备的 Linux 应用程序
- 注册表趣味应用小集
- 通晓网络测试常用命令
- 远程控制技术的应用
- 路由器访问列表的应用
- xDSL技术及其应用
- 分析Cache 在 Ruby China 里面的应用情况
- 基于XML的桌面应用
- SQL Server 2008 R2 应用及多服务器管理
- asp 页面允许CACHE的方法
- web 应用中常用的各种 cache详解
- Nodejs学习笔记之测试驱动
- ASP.NET中Session和Cache的区别总结
- ExtJS 2.0实用简明教程之应用ExtJS
- ASP javascript Application对象的Contents和StaticObjects做Cache的一些经验
- ASP.NET笔记之 viewstate与cache的使用
- 解决php中Cannot send session cache limiter 的问题的方法