問題タブ [varnish-vcl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
http - プライマリ サーバーから 404 を受け取った場合に、いくつかのリソースに対して 2 番目のサーバーを試すように Varnish を構成できますか?
生成されたコンテンツを Web ブラウザーに提供する必要があるため、これは私にとって完璧なソリューションです。私の計画は、オンデマンドでコンテンツを生成し、次回のために保存することです。ブラウザーが (コンテンツを生成する) 私のサービスを毎回呼び出すのは望ましくありません。利用可能な場合は「キャッシュされた」リソースに直接アクセスし、利用できない場合にのみサービスを呼び出すようにします。したがって、サービスを実行するサーバー A と、以前に生成されたコンテンツ バージョンを格納するサーバー B の前に Varinsh を配置します。キャッシュされていないリソースのリクエストを受け取った場合、サーバー B を試します。404 応答を取得すると、サーバー A から同じリソースをリクエストします。
Varnish を VCL でそのように設定できますか? そうでない場合、あなたが知っているような解決策はありますか?
PS ブラウザに 302 リダイレクトを送信したくありません。また、404 の代わりにそのようなリダイレクトを送信するようにサーバー B を制御することもできません。
varnish - 誰かがこのワニスエラーを修正する方法を教えてもらえますか?
これが私が得るエラーです:
VCCコンパイラからのメッセージ:
で終了していない文字列
(入力行39位置19)
------------------ ################################ ###############
VCCコンパイラの実行に失敗し、1を終了しますVCLコンパイルに失敗しました
これがdefault.vclです
regex - コンテンツをキャッシュしないロードバランサーの背後にあるワニス
この行を使用して Cookie を削除しdefault.vcl
、Varnish キャッシュを許可しています
しかし、それは機能していないようです。
Varnish はロード バランサーの背後にあり、ロード バランサーはヘッダーに次の形式で表示される永続 Cookie を設定します。
この正規表現をエミュレーターで実行したところ、上記の行がキャッチされました (最初の ";" まで)。したがって、この正規表現はそれをキャッチする必要があると思いますが、そうではないようですか? このロード バランサーをバイパスすると、コンテンツがキャッシュされます。
何か案は?私は何が欠けていますか?
list - VCL (Varnish Configuration Language) でのリストの定義
Varnish VCL 言語でドメインのリストを定義する方法はありますか? ACLについても同様のことがあると思います。このようなことをしたいと思います(例としてACLを使用)。
別の RegEx テストを使用することもできますが、それらのドメインを VCL の別の場所で使用したい場合、再利用できません。
ありがとう!
apache2 - N 個の期限切れオブジェクトの数が多い。なんで?- (中には私の varnishstat と default.vcl があります)
Varnich 2が実行されているapache2があります。私の問題は、キャッシュ制御が 1 年に設定されていても、ワニスにはまだ N 個の期限切れオブジェクト1971がロードされているということです。これが私の default.vcl で、私の設定のヒントを示していますか?:
Varnishstat、これは私の出力です:
これが役立つ場合、Apache2 conf でキャッシュ制御を設定する方法は次のとおりです。
N 個の期限切れオブジェクトが非常に多い理由がわかりませんか?
varnish - ワニスでリクエストボディを取得する方法
私は現在、ワニスに基づくプロジェクトに取り組んでいます..
vcl
とを書きvmod
ます。ただし、プロジェクトはリクエスト本文を確認する必要があります。VCL
投稿リクエストの本文を で、またはvmod
で取得するにはどうすればよいC function
ですか?
apache - Varnish MISS キャッシュと Varnish コントロール ターミナルがポート 6082 の 192.168.56.102 で応答しない
1 つのボックス (192.168.56.102) でワニスを使用し、別のボックス (192.168.56.105) で apache を使用しています。ワニス ボックス - /etc/varnish/default.vcl 内
および /etc/default/varnish
質問 1. Varnish not Caching (MISS)
質問 2. Apache で Varnish コントロール ターミナルが応答しない (drupal-pressflow-6 を使用) ボックス - varnish admin (/admin/settings/varnish)
前もって感謝します
[編集] - @casperOne - この質問を閉じた理由を確認していただけますか? 私の質問に対する有効な回答が見つかりませんでした。これは私にとって恥ずべきことです
varnish - VCLファイルをデバッグするための最良の方法は何ですか?
VCLファイルにインラインCを書き込んでいます。具体的には、MaxmindのGeoIPデータベースを使用して、訪問者のIPをジオコーディングしています。私はすべてをインストールし、GeoIPデータベースのすべてのwikiの例に従い、すべてが順調に機能しています。
私は今、帰国国の例に加えて、GeoIPでいくつかの魔法をしようとしています。ポインタを返すGeoIP_record_by_addr()メソッドを使用して訪問者の都市を返したい。
問題:GeoIPRecord*をchar*に正しくキャストできないようです。私は何時間も試しました。Varnishにエラーや通知なしでVCLファイルをコンパイルさせますが、varnishサーバーは403で応答します。
質問:とにかく、インラインCまたは403ワニスが応答しているのをデバッグできますか?
varnish - vcl_hash にニスを塗ってパラメーターを削除する
Varnish 2.0.6を使用していますが、vcl_hash 関数を記述するための適切なドキュメントを見つけるのに苦労しています。
キャッシュする前に、API の URL からいくつかのパラメーターを削除する必要があります。特に、分析を追跡するために渡されるが、結果を変更するために渡されないユーザー ID。
私はこれを書きましたが、vcl_hash 関数が 'hash' または 'return(hash)' または NOTHING で終了する必要がある場合、およびすべてのケースまたは特殊なケースのみを処理する必要がある場合、それは私にとって明確ではありません。メソッドを上書きしているのか、それとも拡張しているのかは明確ではありません。
私は持っている:
それは何かが欠けていますか?