2012-07-28 48 views
0

我有一個頁面有一個內容,將顯示給所有用戶,但問題是我有一個Ajax調用完成後,頁面加載此調用不是可緩存,但它需要從緩存頁面中刪除的cookie,我該怎麼做以保留cookie並仍然獲得緩存頁面?varnish:如何保持用戶cookie,而不是每個用戶緩存每頁

+0

第二次發佈:P您是否知道這個https://www.varnish-cache.org/trac/wiki/VCLExampleCacheCookies – Tamil 2012-07-28 15:39:41

+0

我讀過,我完全知道它可以通過添加cookies來哈希,但它會導致每個用戶緩存,這不是我想要完成的,因爲沒有通過這種方法獲得收益 - 實際上有一點收穫,但不明顯。 – 2012-07-28 15:44:24

+0

請粘貼你的'vcl'內容 – 2012-08-26 13:22:03

回答

1

在vcl_hash例程中,您可以決定如何散列請求。例如,下面將只哈希請求URI不包括餅乾:

sub vcl_hash { 
    set req.hash += req.url; 
    set req.hash += req.http.host; 
} 

請注意,你可能要排除的Ajax調用和不在你的配置緩存的任何其他請求。或者更好的是,如果請求是可緩存的,讓後端發送一個頭文件,並讓varnish對此進行處理。

只要提防用setcookie緩存頁面,它應該沒問題。

相關問題