cache.config配置文件解读
生活随笔
收集整理的這篇文章主要介紹了
cache.config配置文件解读
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
這個(gè)是cdn配置緩存策略的文件,可以改變指定對(duì)象或是對(duì)象集的緩存參數(shù)cacheing paremeters
該文件默認(rèn)存放在/usr/local/etc/trafficserver/,它定義了Traffic Server如何緩存web objects。
你能添加caching rules來(lái)指定如下東西:
- 不緩存來(lái)自某個(gè)IP address的objects
- 指定特定的objects在緩存中緩存多長(zhǎng)時(shí)間(pin)
- 多長(zhǎng)時(shí)間后去驗(yàn)證cached objects是fresh的?
- 是否忽略來(lái)自server端的no-cache指令
重要聲明
在你修改完cache.config文件后, 請(qǐng)traffic_line -x來(lái)使修改生效(測(cè)試可行)。當(dāng)你對(duì)Cluster中的某個(gè)node刷新
這些修改時(shí),Traffic Server會(huì)自動(dòng)將配置修改應(yīng)用到集群內(nèi)的其它所有節(jié)點(diǎn)。
配置文件格式解讀
每行包含一個(gè)緩存規(guī)則,由若干鍵值對(duì)組成,鍵值對(duì)形如<tag>=<value>,Traffic Server識(shí)別3個(gè)空格分割的tag
primary_destination=value secondary_specifier=value action=value
每行必須包含一個(gè)主目標(biāo)指示符primary destination specifiers,下列之一
dest_domain= ?匹配來(lái)自某個(gè)url請(qǐng)求中的域名
dest_host= ? 匹配來(lái)自某個(gè)url請(qǐng)求中的主機(jī)名
dest_ip= ? ?匹配來(lái)自某個(gè)url請(qǐng)求中的ip
url_regex= ? 匹配來(lái)自某個(gè)url請(qǐng)求的正則表達(dá)式
每行可以包含任意個(gè)數(shù)的不得重復(fù)的次指示符secondary specifiers(optional), 下列之一
port= ? ? ? 請(qǐng)求url中的port
scheme= ? ? 請(qǐng)求url中的protocol:http or https
prefix= ? ? 請(qǐng)求url中的path部分中的前綴prefix
suffix= ? ? 請(qǐng)求url中的file suffix后綴
method= ? ? 請(qǐng)求url的方法:GET,POST,PUT,TRACE等
time= ? ? ? time range,比如08:00-14:00
src_ip= ? ? client IP address的objects
internal ? ?true或false,指定是否匹配源自內(nèi)部API的http transaction
每行必須包含一個(gè)緩存指令cache directive,下列之一
action=nerver-cache ? ? ? ? ? ? 不緩存指定對(duì)象
action=ignore-no-cache ? ? ? ? ?(client & server no cache)忽略所有的Cache-Control:no-cache頭
action=ignore-client-no-cache ? (only client no cache)忽略來(lái)自client request中的Cache-Control:no-cache頭
action=ignore-server-no-cache ? (only server no cache)忽略來(lái)自origin server response中的Cache-Control:no-cache頭
cluster-cache-local ?配置cluster cache去允許內(nèi)容緩存到每個(gè)節(jié)點(diǎn)本地?
pin-in-cache=<time> ?保留對(duì)象在緩存中的時(shí)間值,如1h15m20s,避免被改寫(xiě),不影響不能緩存的對(duì)象,注意可能導(dǎo)致性能問(wèn)題?
revalidate=<time> ? ?配置重新驗(yàn)證時(shí)間?
ttl-in-cache=<time> ? (force caching and expire after <time>),類似Cache-Control: max-age:<time> header
每行也可以包含各種不同的tweaks,以調(diào)整緩存參數(shù),比如
cache-responses-to-cookies=<value>
對(duì)匹配的請(qǐng)求改寫(xiě)cookie全局設(shè)置proxy.config.http.cache.cache_responses_to_cookies
示例
dest_domain=www.example.com ?scheme=http revalidate=2h
表示2小時(shí)后,重新驗(yàn)證來(lái)自www.example.com的所有http objects
dest_domain=data.video.qiyi.com ?suffix=f4v action=never-cache
dest_domain=mydomain.com suffix=jpeg revalidate=6h
dest_domain=mydomain.com revalidate=1h
表示6小時(shí)后,重新驗(yàn)證mydomain.com中的gif和jpeg對(duì)象,所有其它對(duì)象每小時(shí)驗(yàn)證一次
dest_host=127.0.0.1 ?scheme=http ttl-in-cache=1d
考慮到ats內(nèi)部的bug,這里應(yīng)該用dest_host,而不是dest_ip,參見(jiàn)
https://blog.zymlinux.net/index.php/archives/293
url_regex=example.com/articles/popular.* time=19:00-23:00 ttl-in-cache=1d2h
使url正則在服務(wù)器內(nèi)的 7-11 pm時(shí)間段內(nèi)間斷保留26小時(shí)
url_regex=example.com/game/.* pin-in-cache=1h
使符合該正則的url在緩存中保留1小時(shí)
參考文獻(xiàn)
[1].https://docs.trafficserver.apache.org/en/latest/reference/configuration/cache.config.en.html
[2].cache.config文件中的注釋
總結(jié)
以上是生活随笔為你收集整理的cache.config配置文件解读的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 在ATS插件中使用互斥锁
- 下一篇: ATS和闰秒那些事儿