2

新しくデプロイした Rails Web アプリケーションにワニスを実装したいと考えています。

Rails バージョン 3.2.12 と

Ruby 1.9.2p318 (2012-02-14 リビジョン 34678) [i686-linux]

私のアプリケーションでは、ユーザー認証は Cookie によって行われますが、Cookie が存在する場合、ニスはコンテンツをキャッシュしていません。そのため、ログインしているユーザーの場合、ニスがアプリケーションにリクエストを転送していることがわかりました。これを解決する方法がわかりません。バーニッシュ構成ファイルにいくつかのブロックを入れる必要があるかもしれません.しかし、それはライブであり、ユーザーは私のアプリケーションを使用しています.私はバーニッシュを停止しました.どんな具体的な助けも本当に感謝されます.

4

1 に答える 1

2

このブログRuby on Rails、Varnish、およびユーザー依存のコンテンツで解決策を見つけました。ブログによると、解決策は次のとおりだと思います。

この問題を簡単に解決する良い方法は、Varnish がキャッシュされたコンテンツを探すために使用するハッシュにアプリケーション Cookie を追加することです。これは、構成ファイルの vcl_hash 関数で行われます。

sub vcl_hash {
   if (req.http.Cookie ~ "your_application_cookie") {
     hash_data(req.url);
     hash_data(req.http.Cookie);
 return (hash);
   }
}
于 2013-04-26T13:31:24.130 に答える