2017-09-20 9 views
0

私は開発サーバーにワニスをインストールしましたが、設定を変更せずに稼働しています。だから今はApacheに応答を求めて返すだけです。Varnish default.vcl

まあ、私は初心者ですし、ワニスをテストするためにJavaScript、CSS、イメージをキャッシュしようとしています。私の問題は、もし私がreturn(lookup)を書くならば。 vcl_recvのサービスワニスの再起動時にエラーが発生します。 default.vclで

vcl 4.0; 

# Default backend definition. Set this to point to your content server. 
backend default { 
    .host = "127.0.0.1"; 
    .port = "80"; 
} 

sub vcl_recv { 
# Happens before we check if we have this in cache already. 
# 
# Typically you clean up the request here, removing cookies you don't need, 
# rewriting the request, etc. 
#hash_data(req.url); 
#if (req.http.host) { 
# hash_data(req.http.host); 
#} else { 
# hash_data(server.ip); 
#} 
return (lookup); 
} 

sub vcl_backend_response { 
# Happens after we have read the response headers from the backend. 
# 
# Here you clean the response headers, removing silly Set-Cookie headers 
# and other mistakes your backend does. 

} 

sub vcl_deliver { 
# Happens when we have all the pieces we need, and are about to send the 
# response to the client. 
# 
# You can do accounting or modifying the final object here. 
} 

この構成では、私の再起動時に次のエラーを与える:

Job for varnish.service failed. See 'systemctl status varnish.service' and 'journalctl -xn' for details. 

は私を助けてください!あなたが何か行うことができます

答えて

0

:拡張答えについて

sub vcl_recv { 
    if (req.url ~ "(?i)\.(jpeg|jpg|png|gif|ico|js|css)$") { 
     unset req.http.Cookie; 
     return (hash); 
    } else { 
     return (pass); 
    } 
} 

を、あなたはワニスhttps://serverfault.com/a/551283/426146で3ための答えを見たいかもしれません。

+0

誰かが '' 'style.css?v = something'''を読み込もうとするとどうなりますか? :) –

+0

こんにちはフランシス、それは私のために働くdoesnt。たぶん私は何か間違っている、私は正しく再起動していない...私はあなたが投稿したものを書くと失敗します。私は "返す(ルックアップ)"と行をコメントし、再起動はOKです。 WTF ?? –

+1

@ JonZangitu、私の答えは誤って '' lookup''を返そうとしていましたが、 '' hash''を返すはずでした。私は私の答えでコードを更新しました。 – francisv

関連する問題