亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1615 | 回復(fù): 0
打印 上一主題 下一主題

[其他] varnish緩存清除的問題和陷阱 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2013-06-28 14:31 |只看該作者 |倒序瀏覽
今天遇到一個問題,
一個靜態(tài)頁面xx.com/path_x1/a.html部署在xx.com靜態(tài)集群【browse----->靜態(tài)集群varnish------>靜態(tài)集群apache】
另外一個應(yīng)用又通過apache代理訪問xx.com,配置如下 :
RewriteRule ^/$ http://xx.com/path_x1/a.html [L,P]  
訪問的url是 yy.com 【browse----->應(yīng)用集群apache----->靜態(tài)集群varnish------>靜態(tài)集群apache】


運營修改了這個頁面,需要立即更新,及希望能通過yy.com看到最新的,于是將 yy.com傳入到我們開發(fā)的一個varnish清除工具中,結(jié)果沒效果
后來將xx.com/path_x1/a.html傳入也沒效果,而且發(fā)現(xiàn)yy.com和xx.com/path_x1/a.html返回的居然是兩個不同的版本


接下來看看varnish緩存基本原理

    通常情況下varnish會根據(jù)訪問的host和url作為key, 但varnish 也提供了callback即配置文件中的vcl_hash,可以定制這個key
    除此之外還有一個陷阱就是被代理服務(wù)器的vary頭,通常情況下會返回Vary:Accept-Encoding,varnish會根據(jù)瀏覽器傳過來的這個頭(Accept-Encoding)的值,為同一個url緩存不同的版本,比如不支持壓縮,或者不同類型的壓縮(gzip?deflate?...?)
    可能某些被代理服務(wù)器返回的vary頭是Vary:Accept-Encoding,User-Agent,那就更悲摧了,版本會更加多

我排查了varnish后端的被代理服務(wù)排除了vary這個原因,
然后同過varnishlog仔細(xì)比對通過訪問yy.com和xx.com/path_x1/a.html時的日志,發(fā)現(xiàn)了問題


如果通過xx.com/path_x1/a.html訪問,那么varnish識別的host和url分別是xx.com和/path_x1/a.html
如果通過yy.com訪問,那么varnish識別的host和url分別是yy.com和/path_x1/a.html ,竟然不是我們通常認(rèn)為的yy.com和/ ,顯然是apache在proxy到varnish時做了變化


按照上面的情況,當(dāng)然是兩個不同的版本
如果要清除yy.com,需要將yy.com/path_x1/a.html傳入我們清除工具即可

看來我們的清除工具需要更自智能一些,遇到外站過來的代理,在了解映射規(guī)則的前提下智能清除緩存
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP