問題タブ [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.
varnish - バックエンド ホストを Varnish に動的に追加または削除する
ダウンタイムなしで個々のバックエンド サーバーをプログラムで Varnish ディレクタに追加または削除する最良の方法は何ですか? 私はこれの良い例を探していましたが、見つけることができません。
必要に応じてバックエンド サーバーをスケールアップおよびスケールダウンできるようにしたいと考えています。
ありがとう!
サム
apache - VarnishCache-Webページの初期キャッシュ
Apache WebサーバーにVarnishキャッシュをインストールし、正しく構成しました。これで問題なく動作し、VarnishCacheを介して自分のWebページにアクセスできるようになりました。
ワニスのデフォルトの動作は、Webサーバーによって提供されるページのコピーを保存することです。次回同じページがリクエストされると、VarnishはApacheサーバーからページをリクエストする代わりにコピーを提供します。
そして今、私の質問が来ます:アクセスするページを持っていなくても、Varnishキャッシュを設定した後、最初にWebサイト全体をキャッシュして、それをキャッシュに保存することは可能ですか?これは、ワニスがセットアップされた後、キャッシュが最初は空であり、キャッシュで使用できるようにするにはページにアクセスする必要があるためです。これは、各ページに手動でアクセスしなくても実行できますか?
varnish - ワニス:リソースを最新の状態に保つために、条件付きでキャッシュをパージします
私が「リソース」を持っていると仮定すると、頻繁にアクセスされるため、Varnishによって常にhttp://localhost/doc
キャッシュされると予想されます。ただし、誰かがPOSTを介して更新した場合を除き、POSTの更新が終了した後、それ以降のすべてのリクエストで最新バージョンの「 doc」。
POSTリクエストはデフォルトでキャッシュなしでVarnishを通過するため、私の考えはこのロジックをバックエンドサーバー内にラップすることです。バックエンドサーバーでは次のことができます。
- コマンドを実行する:
varnishadm -T 127.0.0.1:6082 purge req.url == "/doc"
- HTTPパージリクエストを起動します。
curl -X PURGE http://localhost/doc
Cache-Control
ただし、 " "ヘッダーを尊重するようにVCLを構成する必要があります!私のVCLは以下のようなものですが、機能しません。
それは不満です:
- 質問1:目標を達成するためにVCLを更新するにはどうすればよいですか?
- 質問2:これは非常に一般的なシナリオだと思います。リソースを最新の状態に保ちながらキャッシュします。それでは、Varnishを使用してこれを実現するためのベストプラクティスは何ですか?
ご回答ありがとうございます!
caching - Varnish - ログインしたユーザーをキャッシュする方法
ワニスをインストールしましたが、すべて正常に動作します。
ただし、ログインしているユーザーをキャッシュする必要があります。これは私のVCLにあるものです:
上記は機能しますが、ユーザーは他のユーザーのデータを表示できます。たとえば、Sam としてログインし、ページ A にアクセスするとします。別のユーザー (たとえば、Angie) がログインしてページ A を開くと、Sam と同じコンテンツが表示されます。
実際にそのページを表示する権限があるログイン ユーザーにページを制限する方法はありますか?
私のリクエストヘッダーは次のとおりです。
Authorization
要求ヘッダーのエントリを使用して、この制限を適用できますか?
magento - magento で実行するニスの設定
Magento を使用して EC サイトを作成しています。
私はnginx、php5-fpmを使用しています。
私は512MBのRAMと4CPUコアを持っています。
この仕様のワニスを使いたいです。サーバーが最小の遅延で最大のリクエストを処理できるようにするには、ワニス構成にどの値を設定すればよいか知りたいですか? ワニスの構成をいくつか試してみましたが、ワニスを使用しない場合よりも応答時間が長くなります。
caching - Varnish: POST データの後にキャッシュをクリアする
私は Varnish の背後にある Plone ウェブサイトを持っています。1つのことを除いて、すべて正常に機能しています。
これは動的なサイトであるため、新しいコンテンツが随時追加されます。シナリオは次のとおりです。
アイテムのリストを表示するページがあります。このページはキャッシュされています。そのため、何らかのフォームを介して別のアイテムを追加し、同じページに戻りましたが、新しいアイテムは表示されません。これは、表示されたページがキャッシュからのものであり、まだ TTL 内にあるためです。
新しいアイテムの送信時にそのページがキャッシュから消去され、新しいアイテムを含むバックエンド サーバーからの新しいページが表示されるようにするにはどうすればよいですか?
私の単純な VCL は次のとおりです。
または、簡単に言えば、POST 要求を受信するたびにドメインのキャッシュ全体をパージまたはクリアするにはどうすればよいですか?
url - Varnish を使用して、バックエンドの URL を変更しますが、クライアントの URL は変更しません
クライアントの URL "www.example.com/download.." を "one.other.com/download..." に操作したいのですが、クライアントの URL で最初の "www.example.com/download "
Varnish 3 でこれを行う方法はありますか??
caching - Varnish を使用してヘッダーのリファラーを変更する
これは、ユーザーのヘッダーでリファラーを変更し、キャッシュまたはサーバーからコンテンツを提供できるワニスの可能性だと思います。どうすればそれが可能になるのか知りたいです。
centos 32ビットマシンのvarnish 2.1で「req.http.referer」を使用してから「set req.http.referer」を試しましたが、コマンド「varnishtop -i TxHeader -私リファラー」。
これよりも優れたアイデアを持っている人はいますか?
drupal - マルチサイトDrupal用のワニスVCL構成?
私の現在の設定は次のとおりです。
- Varnishat
:80
とDrupalat:8080
は同じボックスにあります - Drupalは、などのマルチサイトとして実行されています
site1.xx.com
。site2.xx.com
- マルチサイトドメインはApacheV.Hostsによって決済されます
そのような種類のDrupalセットアップで使用している標準/共通のVCL構成はありますか?または、デフォルトのVCLファイルはそれを意味しますか?
varnish - 複数の URL パージ Varnish の問題
ワニスのパージに問題があります:
私たちのアプリケーションは非常に動的です。したがって、オブジェクト A のイベントは、オブジェクト A の情報がすべてのページに存在するため、10.000 のパージを生成します。
オブジェクト A は統計販売者で、ページは広告ページです。
curl を使用して php コードから varnish への非同期 http PURGE 呼び出しによってこれを管理しています。
したがって、10000回のhttp呼び出しが発生します URLを計算できません(したがって、正規表現はオプションではありません)
みなさんにお聞きしたいのですが、ワニスでバッチパージ(HTTPインターフェース)を行う可能性はありますか?
そうでない場合、モデルとイベントがページに多くの影響を与える場合に、非常に動的なアプリケーションでテストして機能するオプションは何ですか。
よろしくお願いします