クラウドフレアのページルールの一覧表と3つの使い方サンプル

この記事では「クラウドフレア(Cloudflare)のページルールの一覧表の説明、及び使い方について3つのサンプルの紹介」をメインに解説していきます。

クラウドフレアのページルールについて以下のような要望をお持ちの方はお読みいただければ解決できると思います。

  • ページルールの設定方法や使い方がわからない
  • 個別のページルールの機能説明を詳しくしりたい
  • とにかくページルールの実例サンプルを見たい
  • WordPressの基本設定実例を見たい
  • 特定のファイルのみキャッシュしたい

この記事を監修・執筆した専門家

こんにちは!この記事を監修・執筆した斎藤はじめと申します。
私は現役のエンジニアで、普段はWebの開発案件などをメインに担当しています。
経歴としては誰もが知っている月間数千万人が利用するサービスの開発をしたり、今でも月間数百万人が訪問する規模のWebサイトの開発・運営を日々しております。サーバー・インフラ・フロント等どれでも担当可能です。

そんな私がプロの目で解説していきます!

クラウドフレア(Cloudflare)のページルールとは?

クラウドフレア(Cloudflare)とは?

クラウドフレアはWebページに「キャッシュサーバー」や「セキュリティ」機能を提供する世界的な企業である米国クラウドフレア社のサービスです。(2009年~)2019年にはニューヨーク証券取引所で上場しています。

特にインストールなどの作業なしで、DNSを変更し設定をON/OFFするだけでサイトのパフォーマンスアップやWAFなどのファイヤーウォールなど、セキュリティ関連の様々な各機能が簡単に無料で導入できます。

無料でもめちゃくちゃ使える範囲が広い

その処理量の規模や処理能力などは世界有数で、これだけの機能が無料で提供されることに衝撃を覚えるレベルです。
細かい設定をしたり、追加の機能を使用する場合有料プランになりますが、それでも無料で使える範囲がとてつもなく広いです。

月間ユーザーが数百万人規模のサイトにキャッシュサーバーとセキュリティ機能を提供しても無料でいけちゃいます。

ちなみにAmazon(AWS)やGoogle(GCP)のクラウドでは無料では使えません。

ここまで気前がいいとちょっと引くレベル・・・

正直、Webサービスをやっててクラウドフレアを使ってないなんてめちゃくちゃ損していると思いますよ!機会損失だけでなくサイト自体の表示速度やパフォーマンス、つまり検索順位にも関わりますから、もはやただの損どころではないかも!?

ページルール(Page Rules)とは?

クラウドフレアのページルール(Page Rules)とは「ユーザーがアクセスしたURLパターンに対してクラウドフレア側で何らかのアクションを実行する」機能のことです。

例えば以下のようなことができます。

  • URL「sample1.com」にアクセスがきたら「sample2.comに転送」する
  • URL「/wp-content/*.png」を含む時だけ「キャッシュ」する
  • URL「/wp-login.php*」を含む時だけ「ロボットやスパムを検出ブロック」する

どうでしょう。イメージができましたでしょうか。

ページルール =「URLパターン+アクション」の設定

という覚え方でよいと思います。

クラウドフレアのページルールの何がよいのか?メリット・デメリットは?

ページルールのメリット、デメリットを解説します。

ページルールのメリット

ページルールのメリットはなんといってもURLパターンで細かい個別の制御ができることです。

クラウドフレアの管理画面上ではキャッシュやセキュリティ機能をON/OFFはできますが、ドメイン全体に対しての設定になってしまいます。

サイトを運営していると、場合によっては「原則サイト全体キャッシュ無し、このディレクトリ以下とこの拡張子のファイルだけキャッシュしたい」等いろんな要望が出てくると思います。

それらを実現するのがページルールです。

ページルールのデメリット

ページルールのデメリットは無料では3つまで、4つ以上設定するのは有料になることです。

一番安い有料プランProなら月額$20でページルールを20個まで追加できます。ルール単体の追加は「1つ$1の5つ単位」で可能です。

ただ、月額$20のProプランで使えるのはページルールだけでなく様々なセキュリティ機能などが使えるようになります。

ページルールの作成の仕方

それではページルールの作成方法について解説していきます。

前提としてクラウドフレアの登録とドメイン登録は終わっているものとします。
まだの方は以下の記事からどうぞ!

ページルール作成の場所

ドメインを選びます。

メニューのページルールを選択。

ページルールのページが表示されます。ページルールの管理はこちらで行います。

ページルールを作成・設定する

ページルールは「このパターンのURL」にマッチしたら「このアクションをする」という「URLパターンに対するアクション」の設定から成り立っています。

この2つの条件を次々と入力し、優先順位をつけていきます。

  • ①URLパターン
  • ②アクション
  • ③優先順位

①URLパターンを設定をする

①のURLパターンは部分一致に使われ、以下のようなルールで入力していきます。

【URLパターンの構文】

  <scheme>://<hostname><:port>/<path>?<query_string>

  (例) https://example.com/test.html?param1=aaaa

URLパターンにはワイルドカードが使えます。(注)※ 正規表現ではありません

example.com/test/*

②アクションの設定をする

公式にもどの記事にも日本語で意味が説明されていなかったので自力でまとめなおしてみました。

ページルールのアクション設定一覧
# 設定 メニューの場所 説明 オプション プラン
1 URL の転送
(Forwarding URL)
URLの転送(301/302)。ワイルドカードの一致で格納した$1,$2等の変数を使える。 ステータスコード、転送先URL 全て
2 アプリを無効にする
(Disable Apps)
Cloudflareアプリを全て無効にする 全て
3 エッジ キャッシュ TTL
(Edge Cache TTL)
Cloudflareのサーバーのキャッシュ保存時間。最小値はプランによって変わる。
・Free – 2時間
・Pro – 1時間
・Business – 1秒
・Enterprise – 1秒
時間を選択 全て
4 キャッシュ デセプション アーマー
(Cache Deception Armor)
Web Cache Deception攻撃から保護 ON/OFF 全て
5 オリジン キャッシュ コントロール
(Origin Cache Control)
サーバーキャッシュの設定にオリジンサーバーのHTTPヘッダーCache-Controlを優先 ON/OFF 全て
6 Always Online Caching>構成 インターネットアーカイブ(コピー)機能を提供する。 ON/OFF 全て
7 キャッシュ レベル
(Cache Level)
Caching>構成 サーバーにキャッシュする条件を設定
・バイパス(スキップ/無視)→キャッシュしない
・クエリ―文字列なし→クエリ―文字列がないときだけキャッシュ
・クエリ―文字列を無視する→クエリ文字列あるなし関係なくキャッシュする
・標準→クエリ文字列ごとに違う静的コンテンツとして全てキャッシュ
・すべてをキャッシュする→すべてを静的コンテンツとしてキャッシュする
左記のとおり 全て
8 ブラウザキャッシュTTL
(Browser Cache TTL)
Caching>構成 ブラウザに保存されるキャッシュの保存期間 時間を選択 全て
9 メールアドレス暗号化
(Email Obfuscation)
crape Shield Scrape ShieldアプリにあるCloudflareメールの暗号化 ON/OFF 全て
10 サーバーサイド エクスクルード
(Server Side Excludes)
Scrape Shield>サーバー側の除外 Scrape ShieldアプリのServer Side Excludes機能。 ON/OFF 全て
11 Auto Minify Speed>最適化 自動的にファイルサイズの縮小をする。 HTML/CSS/JS 全て
12 Rocket Loader Speed>最適化 JavaScript が含まれるページのペイント時間を改善。 ON/OFF 全て
13 パフォーマンスを無効にする
(Disable Performance)
Speed>最適化 パフォーマンス機能を無効にする
・Auto Minify
・Rocket Loader
・Mirage
・Polish
全て
14 HTTPSの自動リライト
(Automatic HTTPS Rewrites)
SSL/TLS>エッジ証明書 ページのリンクがhttpsとhttpが混ざっている場合httpsに変換する。 ON/OFF 全て
15 常にHTTPSを使用
(Always User HTTPS)
SSL/TLS>エッジ証明書 http://→https://に301転送 ON/OFF 全て
22 日和見暗号化
(Opportunistic Encryption)
SSL/TLS>エッジ証明書 通信経路の暗号化を試みる「日和見暗号化」機能を使う。 ON/OFF 全て
16 SSL SSL/TLS>概要 SSL機能のオプションを管理 オフ/フレキシブル/フル/厳密 全て
17 Disalbe Zaraz Zaraz CloudFlareがZarazを買収した新サービスZarazを無効に。Zarazは他社のスクリプトを実行するタグマネージャのようなイメージ。 全て
18 IP ジオロケーション ヘッダー
(IP Geolocation Header)
ネットワーク ユーザーの位置情報を表すヘッダCF-IPCountryを追加する。 ON/OFF 全て
19 セキュリティを無効にする
(Disable Security)
ファイアウォール>ツール
ファイアウォール>管理ルール
Scrape Shield
セキュリティ機能を無効にする
・メールの暗号化
・レート制限
・Scrape Shield
・サーバー側の除外
・URL(ゾーン)のロックダウン
・WAF
全て
20 セキュリティレベル
(Security Level)
ファイアウォール>設定 ファイアウォールのセキュリティレベルを変更。検証結果が不合格ならcaptchaのチャレンジ実施 ※デフォルトは標準。
・基本的にオフ→最低実績のIPアドレスにだけチャレンジ
・低→最も脅威的な訪問者だけにチャレンジ
・標準→中程度と最も脅威的な訪問者の両方にチャレンジ
・高→14日以内に脅威的な行動を示した訪問者全てにチャレンジ
・攻撃を受けている→現在DDoS攻撃を受けている場合
基本的にオフ

標準

攻撃を受けている
全て
21 ブラウザ整合性チェック
(Browser Integrity Check)
ファイアウォール>設定 HTTPヘッダーをチェックしスパムやボットのアクセスを拒否 ON/OFF 全て

※Freeプランで作成できるルールのみ記述しています

アクションによってはオプションの中で、ワイルドカードにマッチした箇所に置換変数を使うこともできます。
(正規表現でいうところのグループ化・グループ変数等と呼ばれるもの)

$1は最初のワイルドカードの一致した値を表し、$2は二番目のワイルドカード

【例】転送先:
 http://example.com/images/$1/$2.jpg

③優先順位を設定する

リスクエストの評価される順番を設定します。一覧の上ほど優先異順位が高くなります。

もう1つ重要なのは「リクエストは優先順位順に評価され、マッチした最初の1つだけが適用され、評価が終了する」ということです。

実際のサンプル設定例

〇〇ファイルだけキャッシュしたい

クラウドフレアのデフォルトのキャッシュ挙動

クラウドフレアの設定を有効にするとデフォルトではURLに拡張子が含まれる場合、自動的にキャッシュされます。対象のキャッシュファイルは以下のものです。

7Z CSV GIF MIDI PNG TIF ZIP AVI DOC GZ MKV PPT TIFF ZST AVIF DOCX ICO MP3 PPTX TTF APK DMG ISO MP4 PS WEBM BIN EJS JAR OGG RAR WEBP BMP EOT JPG OTF SVG WOFF BZ2 EPS JPEG PDF SVGZ WOFF2 CLASS EXE JS PICT SWF XLS CSS FLAC MID PLS TAR XLSX

htmlファイルは対象に含まれていません。

特定のファイルのみキャッシュする

特定のファイルだけキャッシュしたい場合は次のようにします。

①まずは全体のキャッシュをOFFにする
②個別のキャッシュを作成し、全体のOFFの前に優先順位設定する

例えばPNG,JPEG,GIFファイルのみキャッシュしたい場合の例は以下。

WordPressのクラウドフレア設定

WordPressでの設定例も紹介します。無料で利用したい場合ルールは3つまでなので3つで設定しています。

①ユーザーのメディアなどのアップロードフォルダはキャッシュする
②狙われがちなログインページのセキュリティを高める
③それ以外の機能は無効にする

クラウドフレアの無料、有料プランとルールの数

料金表とルール

プラン プラン料金内で作成できるルールの数 料金(月額)
Free ~3個 $0
Pro ~20個 $20
Business ~50個 $200
Enterprise ~125個 相談

※上限を超えてルールのみ追加したい場合はルール1つ$1で5つ単位で追加可能

この価格表はドメインごとにかかるので注意!

アップグレードの手順

まとめ

いかがでしたでしょうか。
最後に関連する記事を紹介しますので、よろしければご覧ください。

最後までお読みいただきありがとうございました。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です