webサービスをWebアプリケーションファイアウォール (WAF) に追加した後、カスタム応答ルールを設定して、リクエストがブロックされているクライアントに返すカスタムブロックページを設定できます。 カスタムステータスコード、レスポンスヘッダー、およびレスポンス本文を指定できます。 デフォルトでは、カスタム応答モジュールは無効になっています。 このトピックでは、カスタム応答ルールを設定する方法について説明します。
背景情報
カスタム応答ルールを設定しない場合、リクエストがブロックされているクライアントにはデフォルトのブロックページが返されます。
カスタム応答ルールを設定して、リクエストがブロックされたときにクライアントに返されるカスタムブロックページを設定できます。 カスタムステータスコード (ステータスコード) 、レスポンスヘッダー (レスポンスヘッダー) 、およびレスポンス本文 (レスポンス) を指定できます。
前提条件
EnterpriseまたはUltimateエディションのサブスクリプションWAF 3.0インスタンスまたは従量課金WAF 3.0インスタンスが購入されました。 詳細については、「サブスクリプションWAF 3.0インスタンスの購入」および「従量課金WAF 3.0インスタンスの購入」をご参照ください。
Webサービスは、保護されたオブジェクトとしてWAF 3.0に追加されます。 詳細については、「保護されたオブジェクトと保護されたオブジェクトグループ」をご参照ください。
カスタム応答ルールの設定
WAFは、デフォルトのカスタム応答ルールテンプレートを提供しません。 カスタム応答ルールを有効にする前に、カスタム応答ルールテンプレートを作成する必要があります。
WAF 3.0コンソールにログインします。 上部のナビゲーションバーで、WAFインスタンスがデプロイされているリソースグループとリージョンを選択します。 中国本土 または 中国本土以外 を選択します。
左側のナビゲーションウィンドウで、 を選択します。
では、カスタムレスポンスのセクション保護ルールページをクリックします。テンプレートの作成.
説明カスタム応答ルールテンプレートが存在しない場合は、[保護ルール] ページの上部にある [カスタム応答] カードの [今すぐ設定] をクリックします。
では、テンプレートの作成-カスタムレスポンスパネル、パラメータを設定し、OK. 下表に、各パラメーターを説明します。
パラメーター
説明
テンプレート名
テンプレートの名前を指定します。
テンプレートの名前は1 ~ 255文字で、英数字、ピリオド (.) 、アンダースコア (_) 、ハイフン (-) を使用できます。
デフォルトテンプレートとして保存
このテンプレートを保護モジュールのデフォルトテンプレートとして設定するかどうかを指定します。
保護モジュールに設定できるデフォルトテンプレートは1つだけです。 デフォルトテンプレートとして保存をオンにした場合、有効対象 パラメーターを設定する必要はありません。 デフォルトテンプレートは、保護テンプレートが適用されていないすべての保護オブジェクトおよび保護オブジェクトグループに適用されます。
ルール設定
カスタム応答ルールを設定します。 カスタム応答ルールテンプレートには、1セットのカスタム応答ルールのみを設定できます。
ステータスコード
WAFがリクエストをブロックしたときにWAFによってクライアントに返されるHTTPステータスコード。 有効な値: 200〜600。 デフォルト値: 405
カスタムヘッダー
WAFがリクエストをブロックしたときにWAFによってクライアントに返されるレスポンスのヘッダーフィールド。 各ヘッダーフィールドは、ヘッダー名とヘッダー値で構成されます。 最大5つのヘッダーフィールドを追加できます。
レスポンスボディ
ブロックページのソースコード。 次の要件を満たす必要があります。
レスポンス本文はHTMLまたはJSON形式です。
Custom Headerパラメーターを設定して、
content-type
ヘッダーフィールドを追加し、レスポンス本文の形式を指定できます。コードには最大4,000文字を含めることができます。
重要ブロックページでリクエストIDを保持するには、
{:: trace_id ::}
文字列を参照します。 リクエストIDを使用して、ブロックされたリクエストをログで照会できます。
申請先
テンプレートを適用する保護オブジェクトと保護オブジェクトグループを選択します。
保護対象オブジェクトまたは保護対象オブジェクトグループに適用できる保護モジュールのテンプレートは1つだけです。 保護オブジェクトと保護オブジェクトグループをテンプレートに関連付ける方法については、「保護オブジェクトと保護オブジェクトグループ」をご参照ください。
デフォルトでは、新しいルールテンプレートが有効になっています。 ルールテンプレートリストでは、次の操作を実行できます。
テンプレートに関連付けられている保護オブジェクトと保護オブジェクトグループの数を表示します。
ステータス 列のスイッチをオンまたはオフにして、テンプレートを有効または無効にします。
[操作] 列の 編集 または 削除 をクリックして、テンプレートを変更または削除します。
テンプレート名の左側にあるアイコンをクリックして、テンプレート内のルールを表示します。
カスタムレスポンステンプレートが有効になると、保護されたオブジェクトのデフォルトブロックページのコンテンツが、[ルール設定] セクションで指定したコンテンツに置き換えられます。 WAFが既定のブロックページをクライアントに返す場合は、設定したルールを無効にするか、カスタム応答テンプレートを削除します。
参考資料
保護構成の概要: このトピックでは、保護されたオブジェクト、保護モジュール、および保護プロセスに関する情報を提供します。
CreateDefenseTemplate: CreateDefenseTemplate操作を呼び出して、保護テンプレートを作成できます。
CreateDefenseRule: CreateDefenseRule操作を呼び出して、保護ルールを作成できます。 この操作を呼び出してカスタム応答ルールを作成する場合、DefenseSceneパラメーターをcustom_responseに設定する必要があります。