サイトの 1 つに Varnish をセットアップしています。統計情報の追跡には、オープン ソース ソフトウェアの Piwik を使用しています。
Piwik には、追跡用のプロキシを使用するオプションがあります。つまり、Piwik の URL はソース コードで明らかになりません。基本的に、それは私の wordpress インストールにある PHP ファイルであり、CURL 投稿を Piwik インストールに送信します...
ここで、 https ://github.com/mattiasgeniar/varnish-3.0-configuration-templates を使用してワニスをセットアップし ます。
vcl_fetch に次を追加しました。
if (req.url ~ "piwik") {
set beresp.ttl = 120s;
return (hit_for_pass);
}
vcl_recv に次を追加しました。
if (req.url ~ "piwik") {
return (pass);
}
何が起こるかというと、私が実際にウェブサイトに持っているトラフィックの 50% しか表示されないということです...
私の vcl_fetch 設定のせいだと思います...
pass と hit_for_pass の違いを読み、beresp.ttl は 120 秒間 pass を実行し続けるように varnish をガイドする構成であることを理解しています。
もう1つ、WPのW3TotalCacheは、Max-Ageやexpiresなどのキャッシュヘッダーをpiwik.phpファイルに追加します。Varnish がなくても、問題なく動作し、正しくトラッキングされます。Varnish とこれらのヘッダーの間に何らかの衝突がある可能性はありますか?
私はそれを正しく理解していますか?私の追跡の 50% が見落とされているのはなぜだと思いますか?
ありがとう。