Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

Custom Errors

最終更新 Markdown で表示Agent セットアップ

Custom Errors(カスタムエラー)を使うと、デフォルトの Cloudflare エラーページを、自前のコンテンツに差し替えられます。HTTP エラーが起きたとき、訪問者にカスタムのエラーコンテンツが表示されます。エラーの発生元はオリジンサーバー、Cloudflare Workers を含む Cloudflare 製品、または セキュリティチャレンジ のいずれかです。

カスタムのエラーコンテンツは、次の方法で設定できます。

  • Error Page: 特定のエラーが起きたとき(エラーページの種類 を参照)、またはセキュリティチャレンジを表示するときに、サイト訪問者へ見せる HTML ページです。Error Pages はゾーン単位で定義でき、有料プランではアカウント単位でも定義できます。ゾーン単位の設定が優先されます。
  • Custom Error Rule: HTTP エラー(ステータスコード 400 以上)のときに、Cloudflare が訪問者へカスタムのエラーレスポンスを返す条件と、返す内容そのものを定義します。一致する Custom Error Rule は、同じエラーに適用されるアカウント単位またはゾーン単位の Error Page より優先されます。

Custom Errors を使うには、ドメイン(またはサブドメイン)の DNS レコードをプロキシ してください。

仕組み

Cloudflare には、サイト訪問者へエラーとチャレンジを見せるためのデフォルトページがあります。Error Pages と Custom Error Rules で、それらのページをカスタマイズできます。

特定の種類 のエラーが起きると、Cloudflare は次の順で処理します。

  1. そのエラー向けに、アカウント単位の Error Page が設定されているかを探します。
  2. そのエラー向けに、ゾーン単位の Error Page が設定されているかを探します(設定がある場合、アカウント単位の Error Page より優先されます)。
  3. アカウント単位で一致する Custom Error Rule を探します。このルールは、アカウント単位またはゾーン単位の 500 クラスおよび 1000 クラス の Error Pages より優先されます。
  4. ゾーン単位で一致する Custom Error Rule を探します。このルールは、アカウント単位またはゾーン単位の 500 クラスおよび 1000 クラス の Error Pages と、アカウント単位の Custom Error Rules より優先されます。
  5. WAF カスタムルールレート制限ルール などのセキュリティルールが、デフォルトの Cloudflare WAF ブロックページではなくカスタムのブロックレスポンスを返す場合、そのルール固有のブロックレスポンスが Error Pages や一致する Custom Error Rule より優先されます。
  6. ここまでのいずれかが当てはまる場合、訪問者へカスタムのエラーコンテンツを返します。当てはまらない場合は、そのエラー種類のデフォルトエラーページを、クライアントが要求した形式(JSON、Markdown、または HTML)で返します。構造化エラーレスポンス(JSON または Markdown)の詳細は エラーレスポンス を参照してください。

提供状況

Custom Errors は、すべての有料プランで利用できます。使える機能は Cloudflare プランによって異なります。

Free Pro Business Enterprise
利用可否 不可
ルール数 0 25 50 300
アセット数 0 25 50 300
Error Pages 不可
Origin Error Pages 不可 不可 不可

Error Pages

Cloudflare は、リクエストトラフィックの処理で起きた問題を特定するために、幅広い エラーコード を使います。デフォルトのエラーページには Cloudflare の記載があります。カスタムのエラーページを作ると、ユーザーへ一貫したブランド体験を提供できます。

Error Pages は、HTTP ステータスコードが 500501503505 のレスポンスには適用されません。この例外は、特定の API エンドポイントやその他の Web アプリケーションでの問題を避けるためです。これらのステータスコードのレスポンスは、Custom Error Rules でカスタマイズできます。

Cloudflare の有料プランでは、ゾーン単位またはアカウント全体でカスタムエラーページを作成できます。ゾーン単位のエラーページは、アカウント単位のエラーページより優先されます。

さらに、Enterprise のお客様は、ダッシュボードの Error PagesOrigin Error Pages を有効にすると、オリジン側の 5XX エラーページ(エラー 520527 を除く)をカスタマイズできます。

セキュリティチャレンジ中、またはエラー発生時に表示するカスタムエラーページを設計できます。エラーページの種類について詳しくは、エラーページの種類 を参照してください。

Custom Error Rules

Custom Error Rule は、HTTP エラー(ステータスコード 400 以上)のときに Cloudflare が訪問者へカスタムのエラーコンテンツを返す条件と、返す内容そのものを定義します。

返す内容は、インラインレスポンスか、既存の Web ページの URL で指定します。URL は Web ページでも、JSON コンテンツなどの別リソースでも構いません。

URL を指定すると、Cloudflare は必要な画像、CSS、JavaScript を集め、ページ全体の縮小版を Cloudflare のグローバルネットワークに保存します。このリソースを custom error asset(カスタムエラーアセット)と呼び、同じスコープ(ゾーンまたはアカウント)の 1 つ以上の Custom Error Rules で使えます。

Custom Error Rule が発動すると、Cloudflare は本文を、あらかじめ定義したレスポンスに差し替えます。任意で、訪問者へ返す HTTP ステータスコードも差し替えられます。既存の HTTP レスポンスヘッダーは、Content-TypeContent-Length を除いて維持されます。

さらに、エラーレスポンス向けの Response Header Transform Rules を設定すると、レスポンスの HTTP ヘッダーを追加、変更、削除できます。

Custom Error Rules は Error Pages より優先されます。

Custom Error Assets

custom error asset は、HTML の Web ページ(参照される画像、CSS、JavaScript を含む)などの Web リソースです。指定した URL をもとに Cloudflare が取得して保存し、エラーページとして訪問者へ返します。

custom error asset が Cloudflare のグローバルネットワークに保存されたあと、最初に指定した URL は利用可能である必要はありません。既存の custom error asset は、再取得して更新できます。各 custom error asset のメタデータには、最後に取得した日時が含まれ、ダッシュボードに表示されます。

custom error asset は、アセットを定義したのと同じスコープ(ゾーンまたはアカウント)の 1 つ以上の Custom Error Rules で使えます。

サイズ制限

custom error asset の URL を指定すると、Cloudflare はそのページを取得し、参照されているリソースをすべて HTML にインライン化します。画像やその他のバイナリリソース(CSS の url(...) から参照されるものを含む)は、base64 エンコードした data URL としてインライン化されます。CSS と JavaScript ファイルは、<style> タグと <script> タグ内のプレーンテキストとしてインライン化されます。処理後のページは、おおよそ 1.5 MB を超えてはいけません。

custom error asset がこのサイズを超える場合は、参照リソースの数またはサイズを減らしてください。大きなリソースは外部でホストしても構いません。ただし、アセット取得時に Cloudflare のネットワークからアクセスできる必要があります。

役に立ちましたか?