apache traffic server 简称ats 入坑(四)缓存匹配标识符规则

贵贵的博客 ( http://blog.linuxphp.org/ ) :

由于互联网上关于cache.config的示例很少,本节主要就此配置中的一级标识符进行测试总结

讲之前先转一个文章 https://blog.zymlinux.net/index.php/archives/293

在cache.config中,有时候大家会要对后面的服务器做限制,如限制某个机器的内容不cache等,这时根据环境,这个服务器可能是个域名,也可能是个IP,如果是个IP,你采用这样的配置:   dest_ip=10.0.0.1 scheme=http action=never-cache 你会发现,这个配置并不会生效。咋办?你不妨换成:   dest_host=10.0.0.1 scheme=http action=never-cache 这个可以说是一个bug,也可以说是一个规则,大家先这么绕着走吧。     如下进入我测试的正文 -----------------------分割线-------------- 先说一级标识符 经过详细测试,cache.config 和remap.config 的配置有关 remap.config map http://dev.xxx.com http://127.0.0.1:88/    cache.config 中如下配置才生效,domain用dev域名,其它用IP,另外除url_regex外其它不支持正则 dest_domain=dev.xxx.com scheme=http ttl-in-cache=1m (后面测试发现这个dest_domain要对应于remap.config的第二个参数 20151230) dest_host=127.0.0.1 scheme=http revalidate=1m url_regex=^http:\/\/127 scheme=http revalidate=1m url_regex=127 scheme=http revalidate=1m   -------------------分割线-------------------- 下面再说个二级标识符prefix和suffix 一、 dest_domain=. suffix=jpg action=never-cache 匹配 http://dev.xxx.com/resource/btn_tool.jpg http://dev.xxx.com/resource/btn_tool.jpg?a 不匹配 http://dev.xxx.com/resource/logo.png?aaa.jpg   二、 dest_domain=. prefix=resource action=never-cache 匹配 http://dev.xxx.com/resource/btn_tool.jpg   ------------------20151230补充-------------- 一定要注意测试时curl -I 只获取头信息的话无法触发revalidate ,这点就像日志里记录不到age值是一样的。要避免因此看不到age清零以为配置没效果。  

 

文章来源:

Author:linuxphp@qq.com(keminar)
link:http://blog.linuxphp.org/archives/1645/