簡體   English   中英

從緩存中獲取包含esi標簽的頁面時,清漆未處理ESI請求?

[英]Varnish not processing ESI request when fetching the page containing esi tag from cache?

我正在使用ESI來不緩存頁面片段。 我在vcl文件中編寫了以下配置,以不緩存片段:

sub vcl_backend_response{
   set beresp.do_esi = true;
   if (bereq.url ~ "/fragment") {
        set beresp.uncacheable = true;
        return (deliver);
    }   
}

當清漆第一次從后端獲取整個頁面時,它將發送單獨的“ / fragment”請求,並將其放置在頁面的適當位置。 但是在刷新頁面時,清漆僅對主頁面發出請求,並且在緩存中找到它。 然后,它不會在此頁面中查找esi片段,也不發送請求。 而是在緩存主頁時將其存儲在主頁本身中,並在進行查找時從那里將其帶來。 我想知道如何在每次請求主頁時從后端帶來片段,同時從緩存中提供主頁的其余內容。

放置未unset resp.http.Etag; vcl_deliver子例程中對我vcl_deliver

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM