Waiting room バイパスルール: 特定のサブパスを Cloudflare Waiting room 適用範囲から除外できるようになりました

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

つい先週 Cloudflare Waiting room に新しい機能がリリースされました。

今までは指定したパスの全下層パスに待合室が適用されていましたが、このルールにより待合室の機能を除外したいサイトを指定することができるようになりました。

今回はURLパスを指定しましたが、クエリ文字列などで除外することも可能になりました!

参考:Waiting Room Bypass Rules

 

やりたいこと

階層内の特定ページ(複数指定も可能)にだけ Cloudflare Waiting room 機能を適用したくない

Waiting room を設置したサイトの下階層内にお知らせページなど、ユーザの順番待ちが必要ないサイトがあるとします。

ユーザ「閲覧したいだけなのに、混み合っていて5分も待つのか。。」

サービス提供側「閲覧用サイトに流れてくるトラフィックが、本当に必要なサイトへの順番待ち列に混ざり込んで、待機時間が増えている」

このような課題を解消できるかもしれません。

※注:トラフィックはオリジンサーバーに直接向かうため、閲覧サイトであっても大量のトラフィックが発生する場合はサーバーにかかる負荷に注意が必要です※

 

デフォルト Waiting room パス指定の特徴

  1. パスにトップページ `/` を設定するとサブパス(第二階層、第三階層…)全てにWaiting roomが有効になる
  2. ワイルドカードやクエリパラメータはサポートされていない
  3. 1つの Waiting room に設定できる`ホスト/パス`の組み合わせは1つだけ

参考:Configuration settings

 

今回試したこと

第一階層 第二階層
トップページ Waiting room
/ticket Waiting room
/nowr オリジンサーバ

Waiting room はトップページ/ に設置してありますが、/nowr を適用範囲から除外します。

 

バイパスルール設定

  1. トラフィック > Waiting room > waitingRoomName をクリックし展開 > Bypass Waiting Room Rules の Manage Rules をクリック

  2. Create new Bypass rule > ルール条件を入力し > Bypass Waiting Room をクリックし保存

パスの他、Cookie、完全URl、URl、URlクエリー文字列、ユーザーエージェント、リクエストメソッド、送信元のIPアドレス、ホスト名、リファラ、欧州連合、国、大陸を条件として入力することができます。

 

サイトを確認

トップページ/のレスポンスヘッダーと /ticket のレスポンスヘッダーには、__cf_waitingroom というCookieが発行されています。

/nowr のレスポンスヘッダーには Waiting roomのクッキーはありません。

ルール条件に合うサイトには Waiting room 機能が適用されませんでした。

 

最後に

Classmethodでは、Cloudflareの構築支援・契約のご相談を承っています。ご興味のある方はぜひお問い合わせください