2017-03-12 7 views
0

ワニス4.1.1に問題があります。私は、TTLに基づいて静的コンテンツを期限切れにする必要があります。 vcl_backend_responseブロック以下の設定があります。キャッシュされたオブジェクトはワニスで期限切れにならない4.1.1

sub vcl_backend_response { 
if (beresp.http.Surrogate-Control ~ "ESI/1.0") { 
    unset beresp.http.Surrogate-Control; 
    set beresp.do_esi = true; 
} 
if (beresp.status == 301 || beresp.status == 302) { 
    set beresp.http.Location = regsub(beresp.http.Location, ":[0-9]+", ""); 
} 
if (beresp.status == 500 || beresp.status == 502 || beresp.status == 503 || beresp.status == 504) { 
    return (abandon); 
} 
if (bereq.url ~ "^https?:\/\/(www\.)?sample\.com(\/.*)?$|^https?:\/\/((www\.)?(media|media1)\.)?sample\.com(\/.*)?$") { // This code filter my URL 
if (bereq.url ~ "^[^?]*\.(css|js)(\?.*)?$") { // This code store css and js 
    unset beresp.http.set-cookie; 
    if (beresp.ttl <= 0s || beresp.http.Set-Cookie || beresp.http.Surrogate-control ~ "no-store" || (!beresp.http.Surrogate-Control && beresp.http.Cache-Control ~ "no-cache|no-store|private") || beresp.http.Vary == "*") { 
    set beresp.ttl = 1m; 
    set beresp.uncacheable = true; 
    return (deliver); 
    } 
} 
if (bereq.url ~ "^[^?]*\.(jpeg|jpg|gif|png)(\?.*)?$") {// This code store images 
    unset beresp.http.set-cookie; 
    if (beresp.ttl <= 0s || beresp.http.Set-Cookie || beresp.http.Surrogate-control ~ "no-store" || (!beresp.http.Surrogate-Control && beresp.http.Cache-Control ~ "no-cache|no-store|private") || beresp.http.Vary == "*") { 
    set beresp.ttl = 1m; 
    set beresp.uncacheable = true; 
    return (deliver); 
    } 
} 

上記のコードは正常に動作しますが、オブジェクトが定義されたTTLに基づいて、有効期限が切れドント。 Varnishstatエージェントの記憶域パラメータがフィールドを更新していません。それにもかかわらず、次のコードは正常に動作する(すべてのキャッシュをクリアし)ん:私の質問は

sub vcl_backend_response { 
    set beresp.ttl = 1m; 
    return(deliver); 
} 

されています:それはニスでこの動作正常ですか?

よろしくお願いいたします。

答えて

0

コード「上」:過去に期限切れしている唯一のCSSやJSのため

  • 作品、クッキーやキャッシュ・コントロールを持っています。または1分にそれらに
  • オーバーライドのTTLをキャッシュしないよう

不必要に複雑1分

  • のためのためのパスヒットとキャッシュ可能ではないとしてそれらをマークしワニスを伝える言い換えれば、

    基本的なアドバイス - インターネットからペーストするものはコピーしないでください。 rk。あなたのVCLは何が起こっているのかをほとんど考えずに重いコピーのペースト作業を明確に示しています。

  • 関連する問題