Citrix ADC

レスポンダーアクションの設定

レスポンダー機能を有効にしたら、要求を処理するための 1 つ以上のアクションを設定する必要があります。レスポンダーは、次のタイプのアクションをサポートします。

  • Respond with. リクエストを Web サーバーに転送せずに、Target 式で定義されたレスポンスを送信します。(Citrix ADCアプライアンスは、Webサーバーの代わりとして機能し、Webサーバーとして機能します)。このタイプのアクションは、単純な HTML ベースのレスポンスを手動で定義する場合に使用します。通常、応答アクションのテキストは、Web サーバーのエラーコードと簡潔な HTML ページで構成されます。

  • Respond with SQL OK。Target 式で定義された指定された SQL OK レスポンスを送信します。このタイプのアクションは、SQL クエリに SQL OK レスポンスを送信するときに使用します。

  • Respond with SQL Error。Target 式で定義された指定された SQL エラーレスポンスを送信します。この種類のアクションは、SQL クエリに SQL Error 応答を送信するときに使用します。

  • Respond with HTML page。指定された HTML ページをレスポンスとして送信します。以前にアップロードされた HTML ページのドロップダウンリストから選択するか、新しい HTML ページをアップロードできます。このタイプのアクションは、インポートされた HTML ページをレスポンスとして送信するときに使用します。アプライアンスは、responsewithhtmlpage レスポンダアクションのカスタムヘッダーで応答します。最大 8 つのカスタムヘッダーを設定できます。

  • Redirect。要求を別の Web ページまたは Web サーバーにリダイレクトします。リダイレクトアクションは、DNS に存在するが、実際のウェブサーバーがない「ダミー」の Web サイトに送信されたリクエストを実際の Web サイトにリダイレクトできます。また、検索リクエストを適切な URL にリダイレクトすることもできます。通常、Redirect アクションのリダイレクトターゲットは完全な URL で構成されます。

Citrix ADCコマンドラインを使用してレスポンダーのアクションを構成するには:

指定されたレスポンダーアクションの現在の設定が表示されます。アクション名を指定しない場合は、Citrix ADCアプライアンスで現在構成されているすべてのレスポンダーアクションのリストを省略した設定で表示します。

コマンドプロンプトで次のコマンドを入力して、レスポンダーアクションを構成し、構成を確認します。

  • add responder action <name> <type> <target>
  • show responder action

パラメーター:

  • Name:レスポンダーアクションの名前。 最大長:127

  • タイプ。レスポンダーアクションのタイプ。これは:(respondwith) とすることができます。

  • ターゲット。応答するものを指定する式

  • htmlpage。 htmlpageで応答するように指定するオプション

  • hits. アクションが実行された回数。

  • referenceCount. アクションへの参照の数。

  • undefHits. アクションが UNDEF になった回数。

  • comment. このレスポンダーアクションに関するあらゆる種類の情報。

  • builtin. レスポンダーアクションが組み込まれているかどうかを判断するフラグ

例:

To create a responder action that displays a “Not Found” error page for URLs that do not exist:

> add responder action act404Error respondWith '"HTTP/1.1 404 Not Found\r\n\r\n"+ HTTP.REQ.URL.HTTP_URL_SAFE + " does not exist on the web server."'
Done

> show responder action

1) Name: act404Error
Operation: respondwith
Target: "HTTP/1.1 404 Not Found" + HTTP.REQ.URL.HTTP_URL_SAFE + " does not exist on the web server."
Hits: 0
Undef Hits: 0
Action Reference Count: 0
Done

To create a responder action that displays a “Not Found” error page for URLs that do not exist:

add responder action act404Error respondWith '"HTTP/1.1 404 Not Found\r\n\r\n"+ HTTP.REQ.URL.HTTP_URL_SAFE + " does not exist on the web server."'
Done
> show responder action

1) Name: act404Error
Operation: respondwith
Target: "HTTP/1.1 404 Not Found" + HTTP.REQ.URL.HTTP_URL_SAFE + " does not exist on the web server."
Hits: 0
Undef Hits: 0
Action Reference Count: 0
Done
<!--NeedCopy-->

Citrix ADCコマンドラインを使用して既存のレスポンダーアクションを変更するには:

コマンドプロンプトで次のコマンドを入力して、既存のレスポンダーアクションを変更し、構成を確認します。

  • set responder action <name> -target <string>
  • show responder action

例:

set responder action act404Error  -target '"HTTP/1.1 404 Not Found\r\n\r\n"+ HTTP.REQ.URL.HTTP_URL_SAFE + " does not exist on the web server."'
 Done
> show responder action

1)      Name: act404Error
        Operation: respondwith
        Target: "HTTP/1.1 404 Not Found" + HTTP.REQ.URL.HTTP_URL_SAFE + " does not exist on the web server."
        Hits: 0
        Undef Hits: 0
        Action Reference Count: 0
 Done
<!--NeedCopy-->

Citrix ADCコマンドラインを使用してレスポンダーのアクションを削除するには:

コマンドプロンプトで次のコマンドを入力して、レスポンダーアクションを削除し、構成を確認します。

  • rm responder action <name>
  • show responder action

例:

rm responder action act404Error
 Done

> show responder action
 Done
<!--NeedCopy-->

Citrix ADCコマンドラインを使用してresponsewithhtmlpageレスポンダーアクションにカスタムヘッダーを追加するには:

Citrix ADCアプライアンスは、responsewithhtmlpageレスポンダーアクションでカスタムヘッダーで応答できるようになりました。最大 8 つのカスタムヘッダーを設定できます。以前は、アプライアンスはContent-type:text/htmlおよびContent-Length:<value>静的ヘッダーのみで応答していました。

注:

カスタムヘッダー設定では、「Content-Type」ヘッダー値を上書きすることもできます。

コマンドプロンプトで、次のコマンドを入力します。

add responder action <name> <type> (<target> | <htmlpage>) [-comment <string>] [-responseStatusCode <positive_integer>] [-reasonPhrase <expression>] [-headers <name(value)> ...]

各項目の意味は次のとおりです。

名を入力します。レスポンダーアクションの名前。文字、数字、またはアンダースコア文字 (_) で始まり、文字、数字、およびハイフン (-)、ピリオド (.) ハッシュ (#)、スペース ()、アットマーク (@)、等号 (=)、コロン (:)、およびアンダースコア文字のみを含める必要があります。レスポンダーポリシーの追加後に変更できます。

[タイプ]。レスポンダーアクションのタイプ。使用可能な設定は次のように機能します。

  1. respondwith <target> -ターゲットとして指定された式でリクエストに応答します。
  2. respondwithhtmlpage-ターゲットとして指定されたアップロードされた HTML ページオブジェクトを使用して、リクエストに応答します。
  3. redirect-ターゲットとして指定された URL にリクエストをリダイレクトします。
  4. sqlresponse_ok-SQL OK レスポンスを送信します。
  5. sqlresponse_error-SQL エラーレスポンスを送信します。これは必須の引数です。可能な値:いいえ、応答する、リダイレクト、htmlpageで応答する、sqlresponse_ok、sqlresponse_error

ターゲット。応答するものを指定する式。通常は、リダイレクトポリシーの URL またはデフォルトの構文式です。 リクエスト内の情報を参照するCitrix ADC デフォルトの構文式に加えて、stringbuilder式には、テキストとHTML、および新しい行と段落を定義する単純なエスケープコードを含めることができます。各文字列ビルダー式要素(Citrix ADC デフォルト構文式または文字列)を二重引用符で囲みます。プラス (+) 文字を使用して要素を結合します。

htmlpage。respondwithhtmlpage ポリシーの場合、レスポンスとして使用する HTML ページオブジェクトの名前。最初にページオブジェクトをインポートする必要があります。最大長:31

コメント。このレスポンダーアクションに関するあらゆる種類の情報。最大長:255

レスポンスステータスコード。HTTP レスポンスステータスコード(200、302、404 など) リダイレクトアクションタイプのデフォルト値は 302、respondwithhtmlpage のデフォルト値は 200 です。最小値:100 最大値:599

理由フレーズ。HTTP レスポンスの理由フレーズを指定する式。理由句は、引用符付きの文字列リテラルまたは PI 式です。例:「無効な URL:」+ HTTP.REQ.URL 最大長:8191

ヘッダー。HTTP レスポンスに挿入する 1 つ以上のヘッダー。各ヘッダーは「name (expr)」として指定されます。ここで、expr は、名前付きヘッダーの値を提供するために実行時に評価される式です。レスポンダーアクションには最大 8 つのヘッダーを設定できます。

GUI を使用してレスポンダーアクションを設定するには、次の手順を実行します。

  1. [ AppExpert] > [レスポンダー] > [アクション]に移動します。
  2. 詳細ウィンドウで、次のいずれかの操作を行います。
    • アクションを作成するには、[ 追加] をクリックします。
    • 既存のアクションを変更するには、アクションを選択し、[ 開く] をクリックします。
  3. アクションを作成するか 、既存のアクションを修正するかに応じて、「作成」または 「OK」をクリックします。
  4. [閉じる] をクリックします。ステータスバーに、機能が有効になっていることを示すメッセージが表示されます。
  5. レスポンダーアクションを削除するには、アクションを選択し、[ 削除] をクリックします。ステータスバーに、機能が無効になったことを示すメッセージが表示されます。

[式の追加] ダイアログボックスを使用して式を追加するには

  1. [ レスポンダーアクションの作成 ] または [ レスポンダーアクションの構成 ] ダイアログボックスで、[ 追加] をクリックします。

  2. [ 式の追加 ] ダイアログボックスの最初のリストボックスで、式の最初の用語を選択します。
    • HTTP HTTP プロトコル。HTTP プロトコルに関連するリクエストの側面を調べる場合は、これを選択します。
    • SYS。1 つ以上の保護された Web サイト。リクエストの受信者に関連するリクエストの側面を調べる場合は、これを選択します。
    • CLIENT. 要求を送信したコンピュータ。リクエストの送信者の側面を調べる場合は、これを選択します。
    • ANALYTICS. リクエストに関連付けられた分析データ。リクエストメタデータを調べる場合は、これを選択します。
    • SIP. SIP 要求。SIP 要求の一部の側面を調べる場合は、これを選択します。選択すると、右端のリストボックスに、式の次の部分に適した用語がリストされます。
  3. 2 番目のリストボックスで、式の 2 番目の用語を選択します。選択肢は、前のステップで行った選択によって異なり、コンテキストに適切です。2 番目の選択を行った後、[式の構築] ウィンドウの下のヘルプウィンドウ (空白) に、選択した用語の目的と使用法を説明するヘルプが表示されます。
  4. 式が終了するまで、前のリストボックスの右側に表示されるリストボックスから用語を選択するか、値の入力を求めるテキストボックスに文字列または数値を入力します。

グローバル HTTP アクションの設定

HTTP 要求がタイムアウトしたときにレスポンダアクションを呼び出すように、グローバル HTTP アクションを設定できます。この機能を設定するには、最初に呼び出すレスポンダーアクションを作成する必要があります。次に、そのレスポンダアクションでタイムアウトに応答するように、グローバル HTTP タイムアウトアクションを設定します。

Citrix ADCコマンドラインを使用してグローバルHTTPアクションを構成するには:

コマンドプロンプトで、次のコマンドを入力します。

  • set ns httpProfile -reqTimeoutAction <responder action name>
  • save ns config

<responder action name>の場合は 、レスポンダーアクションの名前に置き換えます。

HTML ページのインポートを構成する

Citrix ADCアプライアンスがカスタムメッセージで応答すると、HTMLファイルで応答できます。import responder htmlpageコマンドを使用してファイルをインポートし、 このファイルをadd responder action <act name> respondwithhtmlpage <file name>コマンドで使用することができます。Citrix ADC GUIを使用してファイルをインポートすることもできます。目的の HTML ページをアプライアンスフォルダにインポートし、レスポンダの実行時にページをアップロードできます。

CLI を使用した HTML ページのインポート

コマンドプロンプトで入力します。

import responder htmlpage [<src>] <name> [-comment <string>] [-overwrite][-CAcertFile <string>]

例:

import responder htmlpage http://www.example.com/page.html my-responder-page -CAcertFile my_root_ca_cert

ここで、 CA 証明書はクライアント証明書の検証に使用されます。証明書は、API または GUI を介した「import ssl certfile」CLI コマンドまたは同等のコマンドを使用してインポートする必要があります。証明書名が構成されていない場合、デフォルトのルート CA 証明書が証明書の検証に使用されます。

Citrix ADC GUIを使用してHTMLページをインポートする

  1. [ AppExpert ] > [ レスポンダー ] > [ HTML ページのインポート]に移動します。
  2. [ レスポンダー HTML のインポート ] 詳細ウィンドウで、[ 追加] をクリックします。
  3. HTML ページのインポートオブジェクトページで 、次のパラメータを設定します。

    1. Name:HTML ページの名前。
    2. インポート元。ファイル、テキスト、またはテキストから読み込まれます。
    3. URL。HTML ファイルの URL の場所を入力するを選択します。
    4. [ファイル]。アプライアンスディレクトリから HTML ファイルを選択します。
    5. テキスト。 HTML ファイルをテキストとして選択します。
  4. [続行] をクリックします。
  5. レスポンダーの HTML ページの詳細を確認します。
  6. [完了] をクリックします。

    HTML ページのインポート

HTML ページを編集するには、ファイルを選択し、[ アクションの選択 ] ドロップダウンリストから [ レスポンダー HTML ページファイルの編集 ] をクリックします。

レスポンダーの HTML ページファイルの編集

レスポンダーアクションの設定