2016-12-09 7 views
0

問題でクッキーを持っている場合。多くの時間の後、私は浄化がどのように働いているかを見つけ出すことにしました!ワニス:</p> <p>私は私のページを削除できませんでした:パージ私はhash_data

ご覧のとおり、リターン(パージ)という新しいアクションが使用されています。これにより、vcl_recvの実行が終了し、vcl_hashにジャンプします。これは通常のリクエストを処理するのと同じです。 vcl_hashがreturn(lookup)を呼び出すと、varnishはオブジェクトをパージしてからvcl_purgeを呼び出します。ここでは、ワニスがオブジェクトをパージした後に、ワニスが必要とする特定のアクションを追加するオプションがあります。 docs

次に、hash_dataにCookieがあり、特定のURLをパージできないことを理解しました。

質問

URIですべての私のページを削除するにはどうすればよいですか?私は禁止制度が私を助けないと思う。あなたは私に何かを提案するかもしれない?

+0

誰も私を助けたり、愚かな質問をすることができますか? –

答えて

0

パージメソッドは、要求されている特定のURLに対してのみ機能します。パージで正規表現を使用することはできません。 たとえば、www.example.com/uriへのリクエストが行われ、Purgeが呼び出されると、このURL全体のオブジェクトのみがキャッシュから削除されます。あなたがあなたのVCLで、次の機能を実装する必要がありますパージを使用したい場合はその後、:その後

acl purge { 
    "localhost"; 
    "192.168.55.0"/24; 
} 
sub vcl_recv { 
     ... 
     # allow PURGE from localhost and 192.168.55... 

     if (req.method == "PURGE") { 
       if (!client.ip ~ purge) { 
         return(synth(405,"Not allowed.")); 
       } 
       return (purge); 
     } 
     ... 
} 

を、あなたはURLをパージするために必要なすべては、あなたにパージ方法でリクエストを送信することですこのようなニス:

$ curl -X PURGE "www.example.com/desired/uri" 

潘はあなたがパージで利用できない、正規表現を使用して達成することができる唯一のrequest.Thisで多くのオブジェクトを削除したいときに使用されます。オブジェクトを禁止する

sub vcl_recv { 
     ... 
     if (req.method == "BAN") { 
       # Same ACL check as above: 
       if (!client.ip ~ purge) { 
         return(synth(403, "Not allowed.")); 
       } 
       ban("req.http.host == " + req.http.host + 
         " && req.url ~ " + req.url); 

       # Throw a synthetic page so the 
       # request won't go to the backend. 
       return(synth(200, "Ban added")); 
     } 
     ... 
} 

がパージと似ていますが、今は正規表現を送ることができます。それを使用するためには、前からACLを維持し、次のようなコードを持っていなければなりません。以下の例では、ホストwww.example.comからすべてのPNG形式のファイルを禁止する方法を示しています。

$ curl -X BAN "www.example.com/.png$" 

全ての情報がVarnish docsから取得されました。

この回答は、禁止と掃除の仕組みの理解に役立ち、その回答がどのように役立つかを特定するのに役立ちます。

あなたのニーズに対応していないものがある場合は、あなたの疑問を明確にするために質問を編集してください(混乱の原因となる可能性のある質問と質問の相違があります)答え。

関連する問題