Skip to content

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

ブロックページ

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

Gateway が DNS または HTTP の Block ポリシー でトラフィックをブロックしたとき、ユーザーのブラウザーにブロックページを表示できます。ブロック理由と連絡先を説明したり、別のページへリダイレクトしたりできます。このカスタマイズは、すべての Block ポリシーに一括で適用することも、ポリシーごとに上書きすることもできます。

前提条件

ブロックページを、ブロックされたドメインの URL のまま表示するには、組織のデバイスに Cloudflare 証明書 をインストールする必要があります。Enterprise ユーザーは 独自のルート CA 証明書 をデプロイすることもできます。証明書をインストールしていない場合、ブロックページは 正しく表示されません

ブロックページを設定する

Gateway は、トラフィックがブロックされたユーザーのブラウザーに、グローバルなブロックページを表示します。デフォルトでは、ブロックページをオンにした DNS Block ポリシーと、すべての HTTP Block ポリシーに対してブロックページを表示します。ポリシーごとに グローバル設定をオンにしたり上書きしたり できます。

グローバルなブロックページを設定する手順です。

  1. Cloudflare One で、Reusable components > Custom pages を開きます。
  2. Account Gateway block page に、現在のブロックページ設定が表示されます。Manage を選択します。
  3. デフォルトの Gateway ブロックページURL リダイレクト、または カスタムの Gateway ブロックページ のいずれかを選びます。
  4. Save を選択します。

デフォルトのブロックページを使う

Default Gateway block page を選ぶと、Gateway は Cloudflare がホストするブロックページ を表示します。これは、Gateway がブロックしたすべてのトラフィックのデフォルトです。

ブロックページへリダイレクトする

Cloudflare のブロックページを表示する代わりに、Gateway が 307(Temporary Redirect)の HTTP 応答コードを返し、カスタム URL へリダイレクトするように設定できます。

Cloudflare 以外のブロックページへユーザーをリダイレクトする手順です。

  1. Cloudflare One で、Reusable components > Custom pages を開きます。
  2. Account Gateway block pageManage を選択します。
  3. URL redirect を選びます。
  4. ブロックしたトラフィックのリダイレクト先 URL を入力します。
  5. (任意)リダイレクト先 URL に 追加のポリシーコンテキスト を送るには、Send policy context をオンにします。
  6. Save を選択します。

ブロックページを設定した Block ポリシーにユーザートラフィックが一致すると、Gateway はカスタムページへリダイレクトします。

URL をリダイレクトする HTTP ポリシーを作成するには、Redirect アクション を参照してください。

ポリシーコンテキスト

Send policy context をオンにすると、Gateway は一致したリクエストの詳細を、リダイレクト URL にクエリ文字列として付加します。すべてのコンテキストフィールドが含まれるわけではありません。ポリシーコンテキストのフィールドには、次のようなものがあります。

ポリシーコンテキストのフィールド

フィールド 定義
User email クエリを行ったユーザーのメールアドレスです。 &cf_user_email=user@example.com
Site URL 元の HTTP リクエストの完全な URL、または DNS クエリのドメイン名です。 &cf_site_uri=https%3A%2F%2Fmalware.testcategory.com%2F
URL category リダイレクト対象 URL の ドメインカテゴリ です。 &cf_request_categories=New%20Domains,Newly%20Seen%20Domains
Original HTTP referer HTTP トラフィックの場合、HTTP リクエストの元の HTTP referer ヘッダーです。 &cf_referer=https%3A%2F%2Fexample.com%2F
Rule ID リクエストに一致した Gateway ポリシーの ID です。 &cf_rule_id=6d48997c-a1ec-4b16-b42e-d43ab4d071d1
Source IP ポリシーに一致したデバイスの送信元 IP アドレスです。 &cf_source_ip=203.0.113.5
Device ID ポリシーに一致したデバイスの UUID です。 &cf_device_id=6d48997c-a1ec-4b16-b42e-d43ab4d071d1
Application names リダイレクト先ドメインに対応するアプリケーション名です(ある場合)。 &cf_application_name=Salesforce
Filter ブロックを引き起こしたトラフィックタイプのフィルターです。 &cf_filter=http, &cf_filter=dns, &cf_filter=av, or &cf_filter=l4
Account ID 関連する Zero Trust アカウントの Cloudflare アカウント ID です。 &cf_account_id=d57c3de47a013c03ca7e237dd3e61d7d
Query ID リダイレクトが適用された DNS クエリの ID です。 &cf_query_id=f8dc6fd3-a7a5-44dd-8b77-08430bb4fac3
Connection ID リダイレクトが適用されたプロキシ接続の ID です。 &cf_connection_id=f8dc6fd3-a7a5-44dd-8b77-08430bb4fac3
Request ID リダイレクトが適用された HTTP リクエストの ID です。 &cf_request_id=f8dc6fd3-a7a5-44dd-8b77-08430bb4fac3

リダイレクトの優先順位

リダイレクト URL のパスとクエリは、元の URL より優先されます。Send policy context をオンにすると、Gateway はコンテキストをリダイレクト URL の末尾に追加します。たとえば、元の URL が example.com/path/to/page?querystring=X&k=1 で、リダイレクト URL が cloudflare.com/redirect-path?querystring=Y の場合、Gateway は次の宛先へリクエストをリダイレクトします。

cloudflare.com/redirect-path?querystring=Y&cf_user_email=user@example.com

ブロックページをカスタマイズする

Cloudflare がホストするブロックページは、全体に適用する変更でカスタマイズできます。Gateway は、ユーザーがブロックページに到達するたびにその内容を表示します。カスタマイズは、トラフィックをブロックするポリシーの種類(DNS または HTTP)に関係なく適用されます。

ブロックページをカスタマイズするには:

  1. Cloudflare ダッシュボード で、Zero Trust > Reusable components > Custom pages を開きます。
  2. Account Gateway block pageCustomize を選択します。
  3. Custom Gateway block page を選びます。Gateway はカスタムブロックページのプレビューを表示します。次の項目をカスタマイズできます。
    • 組織名
    • ロゴ
    • ヘッダーテキスト
    • グローバルなブロックメッセージ(ポリシー固有のブロックメッセージの上に表示されます)
    • Mailto リンク
    • 背景色
  4. Save を選択します。
  1. cloudflare_api_token に次の権限を追加します。

    • Zero Trust Write
  2. cloudflare_zero_trust_gateway_settings で、block_page 引数にカスタマイズ内容を設定します。

    resource "cloudflare_zero_trust_gateway_settings" "team_name" {
    	account_id = var.cloudflare_account_id
    	settings = {
    		block_page = {
    			enabled = true //do not use the default Gateway block page
    			mode = "customized_block_page" //use a custom block page
    			name = "Cloudflare"
    			logo_path = "https://logos.com/a.png"
    			header_text = "--header--"
    			footer_text = "--footer--"
    			mailto_address = "admin@example.com"
    			mailto_subject = "Blocked Request"
    			background_color = "#ffffff"
    			suppress_footer = false
    		}
    	}
    }

以降、ユーザーがブロックされた Web サイトにアクセスすると、Gateway はカスタムの Gateway ブロックページを表示します。

ロゴ画像を追加する

カスタムブロックページに、外部のロゴ画像を表示できます。ブロックページは、すべての画像を 146x146 ピクセルにリサイズします。URL は有効で、2048 文字以内である必要があります。対応するファイル形式は SVG、PNG、JPEG、GIF です。

管理者がメールを受け取れるようにする

カスタムブロックページに Mailto リンクを追加すると、ユーザーはブロックされたサイトについて直接メールできます。ブロックページで Contact your Administrator を選ぶと、設定したメールアドレスと件名、および次の診断情報が入ったメールテンプレートが開きます。

フィールド 説明
Site URL ブロックされたページの URL。
Rule ID ページをブロックした Gateway ポリシーの ID。
Source IP ユーザーデバイスのパブリック送信元 IP。
Account ID ブロックポリシーに紐づく Cloudflare アカウント。
User ID ページを訪れたユーザーの ID。現在、User ID はダッシュボードには表示されず、API を呼び出した場合のみ確認できます。
Device ID ページを訪れたデバイスの ID。Cloudflare One Client が生成します。
Block Reason ポリシー固有のブロックメッセージ。

ポリシーのブロック動作を設定する

DNS Block ポリシーでは、ブロックページを表示したいポリシーごとにオンにする必要があります。HTTP Block ポリシーでは、Gateway はデフォルトでグローバルなブロックページ設定を自動表示します。どちらのポリシータイプでも、各ポリシーの設定でグローバルなブロックページ設定を上書きできます。

個別のポリシーでブロックページをオンにする、またはグローバル設定を上書きする手順です。

  1. Cloudflare ダッシュボードZero Trust > Traffic policies > Firewall policies > DNS を開きます。
  2. 新しいポリシーを作る場合は Add a policy を選びます。既存のポリシーを編集する場合は、対象ポリシーを選んで Edit を選びます。ブロックページを編集できるのは、Block アクションのポリシーだけです。
  3. Configure policy settings で、turn on Modify Gateway block behavior
  4. ブロック時の動作を選びます。
    • Use account-level block setting: アカウント設定で構成したグローバルなブロックページ設定を使います。グローバル設定は、デフォルトの Gateway ブロックページ、HTTP リダイレクト、または カスタム Gateway ブロックページ のいずれかです。
    • Override account setting with URL redirect: ポリシー単位で指定した URL へ、307 HTTP リダイレクトでユーザーをリダイレクトします。
  5. (任意)アカウントレベルのブロックページ設定でカスタム Gateway ブロックページを使っている場合、Add an additional message to your custom block page when traffic matches this policy をオンにすると、このポリシーでトラフィックがブロックされたときにカスタムブロックページへ追加メッセージを表示できます。このオプションは Message フィールドの代わりになります。
  6. Save policy を選びます。

設定に応じて、Gateway はこのポリシーでブロックされたユーザーのブラウザーにブロックページを表示するか、指定した URL へリダイレクトします。

  1. Cloudflare ダッシュボードZero Trust > Traffic policies > Firewall policies > HTTP を開きます。
  2. 新しいポリシーを作る場合は Add a policy を選びます。既存のポリシーを編集する場合は、対象ポリシーを選んで Edit を選びます。ブロックページを編集できるのは、Block アクションのポリシーだけです。
  3. Configure policy settings で、go to Modify Gateway block behavior
  4. ブロック時の動作を選びます。
    • Use account-level block setting: アカウント設定で構成したグローバルなブロックページ設定を使います。グローバル設定は、デフォルトの Gateway ブロックページ、HTTP リダイレクト、または カスタム Gateway ブロックページ のいずれかです。
    • Override account setting with URL redirect: ポリシー単位で指定した URL へ、307 HTTP リダイレクトでユーザーをリダイレクトします。
  5. (任意)アカウントレベルのブロックページ設定でカスタム Gateway ブロックページを使っている場合、Add an additional message to your custom block page when traffic matches this policy をオンにすると、このポリシーでトラフィックがブロックされたときにカスタムブロックページへ追加メッセージを表示できます。このオプションは Message フィールドの代わりになります。
  6. Save policy を選びます。

設定に応じて、Gateway はこのポリシーでブロックされたユーザーのブラウザーにブロックページを表示するか、指定した URL へリダイレクトします。

制限

証明書エラー

ブロックされたページを開いたときにブラウザーがセキュリティリスクの警告を出す場合は、デバイスに 証明書を正しくインストール しているか確認してください。証明書が未インストール、無効、または期限切れの場合、ユーザーのブラウザーは次のようになることがあります。

  • 上流が安全でないことを示す HTTP Response Code: 526 のエラーページを表示する。
  • 接続を閉じ、どのページも表示しない。

証明書の問題の修正については、トラブルシューティング を参照してください。

非互換の DNS レコードタイプ

A または AAAA 以外の種類の DNS レコードに対するクエリの解決をブロックする場合、Gateway は REFUSED (RCODE:5) の DNS 応答コードを返します。Gateway はリクエストをブロックしますが、ブロックページは表示しません。

サードパーティフィルタリングとの競合

サードパーティ VPN や、iCloud Private RelayGoogle Chrome IP Protection などのインターネットフィルタリングソフトウェア経由のトラフィックは、Gateway では正しくフィルタリングできません。DNS ポリシーをトラフィックに適用するには、Gateway の動作を妨げるソフトウェアをオフにすることを推奨します。

iCloud Private Relay をオフにする方法は、Apple のユーザーガイド(macOS または iOS)を参照してください。

データセンターと IP アドレスの一致

Block ポリシーに一致する HTTP リクエストが、対応する DNS クエリと同じ Cloudflare データセンターに届かない場合、Gateway はカスタムブロックページではなくデフォルトのブロックページを表示します。

これは、IPv4、IPv6、DoH(DNS over HTTPS)、DoT(DNS over TLS)などの暗号化プロトコルを含む、任意の Gateway リゾルバーエンドポイントへ送った DNS クエリに適用されます。DNS クエリが対応する HTTP リクエストと別の Cloudflare データセンターへルーティングされた場合(たとえば DoH トラフィックを WARP トンネルの外へ送った場合)、Gateway は 2 つのリクエストを関連付けられず、カスタムブロックページではなくデフォルトのブロックページを表示します。

HTTP リクエストの送信元 IP が DNS リクエストと異なる場合、Gateway はブロックページにルール ID、カスタムメッセージ、その他のフィールドを表示しないことがあります。再帰 DNS リゾルバーの送信元 IP が、ユーザーデバイスの IP と異なる場合に起こり得ます。

デュアルスタックネットワーク

デュアルスタックネットワークでは、DNS クエリの送信元 IP と、ブロックページ接続の送信元 IP が異なることがあります。DNS クエリが IPv4 で、ブラウザーが IPv6 でブロックページに接続する(またはその逆)場合があります。このとき、ブロックページの読み込みに失敗したり、ポリシーコンテキスト(ルール ID、ブロック理由、カスタムリダイレクトパラメーター)なしで表示されたりすることがあります。

この問題を解消するには、DNS ロケーションに 専用の DNS リゾルバー IP アドレス を設定します。専用 IP アドレスを使うと、ブロックサーバーは送信元アドレスに関係なく、宛先 IP アドレスからアカウントを特定できます。

役に立ちましたか?