Citrix ADC

HTTP 構成

Citrix ADCアプライアンスのHTTP構成は、HTTP設定の集合であるHTTPプロファイルと呼ばれるエンティティで指定できます。HTTP プロファイルは、これらの HTTP 設定を使用するサービスまたは仮想サーバに関連付けることができます。

デフォルトの HTTP プロファイルは、すべてのサービスおよび仮想サーバにグローバルに適用される HTTP 設定を設定するように設定できます。

注: HTTP パラメータがサービス、仮想サーバー、およびグローバルに異なる値を持つ場合、最も具体的なエンティティ (サービス) の値が最も優先されます。

Citrix ADCアプライアンスは、HTTPを構成するための他のアプローチも提供します。詳細については、以下をお読みください。

Citrix ADCはWebSocketプロトコルをサポートしています。これにより、ブラウザやその他のクライアントがサーバーへの双方向の全二重TCP接続を作成できます。WebSocketのCitrix ADCの実装は、RFC6455 に準拠しています。

Citrix ADCアプライアンスは、HTTP/1.1プロトコルとHTTP/2プロトコルの両方のユーザーソースIP(USIP)アドレス構成をサポートするようになりました。

グローバル HTTP パラメータの設定

Citrix ADCアプライアンスでは、すべてのCitrix ADCサービスと仮想サーバーに適用可能なHTTPパラメーターの値を指定できます。これは以下を使用して行うことができます:

  • デフォルトの HTTP プロファイル
  • グローバル HTTP コマンド

デフォルトの HTTP プロファイル

nshttp_default_profile という名前の HTTP プロファイルは、サービスレベルまたは仮想サーバーレベルで HTTP 構成が提供されていない場合に使用される HTTP 構成を指定するために使用されます。

注:

  • すべての HTTP パラメータをデフォルトの HTTP プロファイルで設定できるわけではありません。一部の設定は、グローバル HTTP コマンドを使用して実行する必要があります(以下のセクションを参照)。

  • デフォルトのプロファイルは、サービスまたは仮想サーバーに明示的にバインドする必要はありません。

デフォルトの HTTP プロファイルを設定するには

  • コマンド・ライン・インタフェースを使用して、コマンド・プロンプトに次のように入力します。

    set ns httpProfile nshttp_default_profile …

  • GUI で、[システム] > [プロファイル] に移動し、[HTTP プロファイル] をクリックして、nshttp_default_profile を更新します。

グローバル HTTP コマンド

グローバル HTTP パラメータを設定するために使用できるもう 1 つの方法は、グローバル HTTP コマンドです。このコマンドは、いくつかの一意のパラメータに加えて、HTTP プロファイルを使用して設定できるいくつかのパラメータを複製します。これらの重複するパラメータに対して行われた更新は、デフォルトの HTTP プロファイルの対応するパラメータに反映されます。

たとえば、この方法を使用して maxReusePool パラメータが更新された場合、その値はデフォルトの HTTP プロファイル (nshttp_default_profile) の maxReusePool パラメータに反映されます。

注:

このアプローチは、デフォルトのHTTPプロファイルでは使用できないHTTPパラメータにのみ使用することをお勧めします。

グローバル HTTP コマンドを設定するには

  • コマンド・ライン・インタフェースを使用して、コマンド・プロンプトに次のように入力します。

    set ns httpParam …

  • GUI で、[システム] > [設定] に移動し、[HTTP パラメータの変更] をクリックして、必要な HTTP パラメータを更新します。

TRACE または TRACK 無効な要求をドロップするように HTTP プロファイルを設定する

markTraceReqInval パラメータを有効にして、TRACK 要求とTRACK 要求を無効としてマークすることができます。仮想IPアドレスでdropInvalidReqsオプションとともにこのオプションを有効にすると、Citrix ADCアプライアンスにTRACEまたはTRACK要求を送信するクライアントをリセットできます。

CLI を使用して HTTP プロファイルを設定するには

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

set ns httpProfile <profile name> [-markTraceReqInval ENABLED | DISABLED ]

例:

set ns httpProfile profile1 -markTraceReqInval ENABLED

Citrix ADC GUIを使用してHTTPプロファイルを構成する

TRACE または TRACK の無効な要求をマークするには、次の手順を実行します。

  1. Citrix ADCアプライアンスにサインインし、「 構成 」>「 システム 」>「 プロファイル 」の順に選択します。
  2. [HTTP プロファイル] タブページで、[追加] をクリックします。
  3. [HTTP プロファイルの作成] ページで、[TRACE 要求を無効にする] オプションを選択します。
  4. [作成] をクリックします。

    HTTP 無効な TRACE リクエスト

サービスまたは仮想サーバ固有の HTTP パラメータの設定

HTTP プロファイルを使用して、サービスおよび仮想サーバの HTTP パラメータを指定できます。HTTP プロファイルを定義し(または組み込み HTTP プロファイルを使用する)、プロファイルを適切なサービスおよび仮想サーバに関連付ける必要があります。

注:

また、要件に従ってデフォルトプロファイルの HTTP パラメータを変更することもできます。

コマンドラインインターフェイスを使用してサービスレベルまたは仮想サーバーレベルの HTTP 構成を指定するには

コマンドプロンプトで、次の手順を実行します。

  1. HTTP プロファイルを設定します。

    set ns httpProfile <profile-name>...

  2. HTTP プロファイルをサービスまたは仮想サーバーにバインドします。

    HTTP プロファイルをサービスにバインドするには、次のようにします。

set service <name> .....

:

> set service service1 -httpProfileName profile1

HTTPプロファイルを仮想サーバーにバインドするには:

set lb vserver <name> .....

例:

> set lb vserver lbvserver1 -httpProfileName profile1

GUI を使用してサービスレベルまたは仮想サーバレベルの HTTP 構成を指定するには

GUIで、次の操作を実行します。

  1. HTTP プロファイルを設定します。

    [システム] > [プロファイル] > [HTTP プロファイル] に移動し、HTTP プロファイルを作成します。

  2. HTTP プロファイルをサービスまたは仮想サーバーにバインドします。

    トラフィック管理 」>「 ロードバランシング 」>「 サービス/仮想サーバー 」に移動し、サービス/仮想サーバーにバインドする HTTP プロファイルを作成します。

組み込みの HTTP プロファイル

構成の便宜上、Citrix ADCには組み込みのHTTPプロファイルがいくつか用意されています。以下のプロファイルを確認し、そのまま使用するか、要件に合わせて変更してください。これらのプロファイルを、必要なサービスまたは仮想サーバにバインドできます。

組み込みプロファイル 説明
nshttp_default_profile アプライアンスのデフォルトのグローバル HTTP 設定を表します。
nshttp_default_strict_validation HTTP 要求と応答の厳密な検証を必要とするデプロイメントの設定。

HTTP 設定の例

次の設定を行うコマンドラインインターフェイスのサンプル例:

  • HTTP バンドの統計情報
  • WebSocket接続

HTTP バンドの統計情報

HTTP 要求と応答のバンドサイズを指定します。

> set protocol httpBand reqBandSize 300 respBandSize 2048
Done
> show protocol httpband -type REQUEST

WebSocket接続

必要な HTTP プロファイルで webSocket を有効にします。

> set ns httpProfile http_profile1 -webSocket ENABLED
Done
> set lb vserver lbvserver1 -httpProfileName profile1
Done