Citrix ADC

HTTP構成

重要:

Citrix ADCリリース13.0ビルド71.x以降、Citrix ADCアプライアンスはL7アプリケーション要求に対応するために、大きなヘッダーサイズのHTTP要求を処理できます。ヘッダーサイズは最大 128 KB まで設定できます。

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

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

注:

HTTP パラメータにサービス、仮想サーバー、およびグローバルに異なる値がある場合、最も固有のエンティティ(サービス)の値が最も高い優先順位が与えられます。

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

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

注:

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

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

注:

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

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

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

    set ns httpParam …

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

接続要求に対して無視コーディングスキームを設定するには

HTTP/2 を有効にし、接続リクエストのコーディングスキームを無視するように HTTP/2 パラメータを設定するには、コマンドプロンプトで次のように入力します。

set ns httpParam [-ignoreConnectCodingScheme ( ENABLED | DISABLED )]

例:

set ns httpParam -ignoreConnectCodingScheme ENABLED

Citrix ADCコマンドラインを使用してHTTPプロファイルを仮想サーバーにバインドするには

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

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

サービスグループの HTTP プロファイルの設定

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

add serviceGroup <serviceGroupName>@ <serviceType> [-cacheType <cacheType>] [-td <positive_integer>] [-maxClient <positive_integer>] [-maxReq <positive_integer>] [-cacheable ( YES | NO )] [-cip ( ENABLED | DISABLED ) [<cipHeader>]] [-usip ( YES | NO )] [-pathMonitor ( YES | NO )] [-pathMonitorIndv ( YES | NO )] [-useproxyport ( YES | NO )] [-healthMonitor ( YES | NO )] [-sp ( ON | OFF )] [-rtspSessionidRemap ( ON | OFF )] [-cltTimeout <secs>] [-svrTimeout <secs>] [-CKA ( YES | NO )] [-TCPB ( YES | NO )] [-CMP ( YES | NO )] [-maxBandwidth
<positive_integer>] [-monThreshold <positive_integer>] [-state ENABLED DISABLED )][-downStateFlush ( ENABLED | DISABLED )] [-tcpProfileName <string>] [-httpProfileName <string>] [-comment <string>] [-appflowLog ( ENABLED | DISABLED )] [-netProfile <string>] [-autoScale <autoScale> -memberPort <port> [-autoDisablegraceful ( YES | NO )] [-autoDisabledelay <secs>] ] [-monConnectionClose ( RESET | FIN )]

<!--NeedCopy-->

例:

add serviceGroup rl-lips-30016 HTTP -maxClient 0 -maxReq 0 -cip ENABLED X-Forwarded-For -usip NO -useproxyport YES -cltTimeout 180 -svrTimeout 360 -CKA NO -TCPB NO -CMP NO -tcpProfileName live-tcp-profile-sg -httpProfileName profile1

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

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

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

    HTTP 無効なトレース要求

サービスまたは仮想サーバー固有の 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
<!--NeedCopy-->

HTTP プロファイルを仮想サーバーにバインドするには、次の手順を実行します。

set lb vserver <name> .....

例:

> set lb vserver lbvserver1 -httpProfileName profile1
<!--NeedCopy-->

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
<!--NeedCopy-->

WebSocket 接続

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

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