Discourse、Apache、Varnish Cache の難易度

こんにちは!
Discourse の Docker 環境をリバースプロキシ経由で運用しています。メインシステムに他のサイトもホストしているためです。また、サイトの読み込みを高速化するため、Apache フロントエンドの前に Varnish キャッシュを導入しています。
ログイン後などに、ランダムに「503 Backend fetch failed」というエラーが発生することがあります。例えば、メール内のリンクを開くとエラーが出たり、サインアップ時にも同じエラーが発生したりします。これらは私が確認した事例の一部にすぎません。
この問題を解決する方法、あるいは特定のサイトでの Varnish キャッシングを無効にする方法をご存知でしょうか?

よろしくお願いいたします、
Kian

自分自身で解決できたようです。.vcl ファイルのプローブ機能を無効にしたところ、503 エラーの問題が解消されました。必要に応じて、私の varnish 用 .vcl ファイルを以下に共有します(あなたにも役立つかもしれません)! :slight_smile:

vcl 4.0;

backend default {
    .host = "127.0.0.1";
    .port = "81";
    .connect_timeout = 5s;
    .first_byte_timeout = 10s;
    .between_bytes_timeout = 10s;
}
sub vcl_recv{
  unset req.http.Cookie;
if (req.http.host ~"forum.thelostworldmc.com") {
   if (!(req.url ~ "(^/uploads/|^/assets/|^/user_avatar/)")) {
      return (pass);
   }
}
}
sub vcl_deliver {
  if (obj.hits > 0) {
    set resp.http.X-Cache = "HIT";
  } else {
    set resp.http.X-Cache = "MISS";
  }
}
「いいね!」 2

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.