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 は次の順で処理します。
- そのエラー向けに、アカウント単位の Error Page が設定されているかを探します。
- そのエラー向けに、ゾーン単位の Error Page が設定されているかを探します(設定がある場合、アカウント単位の Error Page より優先されます)。
- アカウント単位で一致する Custom Error Rule を探します。このルールは、アカウント単位またはゾーン単位の 500 クラスおよび 1000 クラス の Error Pages より優先されます。
- ゾーン単位で一致する Custom Error Rule を探します。このルールは、アカウント単位またはゾーン単位の 500 クラスおよび 1000 クラス の Error Pages と、アカウント単位の Custom Error Rules より優先されます。
- WAF カスタムルール や レート制限ルール などのセキュリティルールが、デフォルトの Cloudflare WAF ブロックページではなくカスタムのブロックレスポンスを返す場合、そのルール固有のブロックレスポンスが Error Pages や一致する Custom Error Rule より優先されます。
- ここまでのいずれかが当てはまる場合、訪問者へカスタムのエラーコンテンツを返します。当てはまらない場合は、そのエラー種類のデフォルトエラーページを、クライアントが要求した形式(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 | 不可 | 不可 | 不可 | 可 |
Cloudflare は、リクエストトラフィックの処理で起きた問題を特定するために、幅広い エラーコード を使います。デフォルトのエラーページには Cloudflare の記載があります。カスタムのエラーページを作ると、ユーザーへ一貫したブランド体験を提供できます。
Error Pages は、HTTP ステータスコードが 500、501、503、505 のレスポンスには適用されません。この例外は、特定の API エンドポイントやその他の Web アプリケーションでの問題を避けるためです。これらのステータスコードのレスポンスは、Custom Error Rules でカスタマイズできます。
Cloudflare の有料プランでは、ゾーン単位またはアカウント全体でカスタムエラーページを作成できます。ゾーン単位のエラーページは、アカウント単位のエラーページより優先されます。
さらに、Enterprise のお客様は、ダッシュボードの Error Pages で Origin Error Pages を有効にすると、オリジン側の 5XX エラーページ(エラー 520–527 を除く)をカスタマイズできます。
セキュリティチャレンジ中、またはエラー発生時に表示するカスタムエラーページを設計できます。エラーページの種類について詳しくは、エラーページの種類 を参照してください。
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-Type と Content-Length を除いて維持されます。
さらに、エラーレスポンス向けの Response Header Transform Rules を設定すると、レスポンスの HTTP ヘッダーを追加、変更、削除できます。
Custom Error Rules は Error Pages より優先されます。
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 のネットワークからアクセスできる必要があります。