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

由于互联网上关于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清零以为配置没效果。
 

 

Tags: trafficserver

上一篇: nginx 如何隐藏trafficserver的header   下一篇: trafficserver (五)目录正则刷新缓存

相关文章

提交疑问

回顶部