HTTP構成

最終公開日 : Sep 25, 2026
重要:
NetScalerリリース13.0ビルド71.x以降、NetScalerアプライアンスはL7アプリケーションリクエストに対応するために大きなヘッダーサイズのHTTPリクエストを処理できるようになりました。ヘッダーサイズは最大 120 KB まで設定できます。
NetScaler ADCアプライアンスのHTTP構成は、HTTP設定の集合であるHTTPプロファイルと呼ばれるエンティティで指定できます。HTTP プロファイルは、これらの HTTP 設定を使用するサービスまたは仮想サーバに関連付けることができます。
デフォルトの HTTP プロファイルは、デフォルトですべてのサービスと仮想サーバーにグローバルに適用される HTTP 構成を設定するように構成できます。
注:
HTTP パラメータにサービス、仮想サーバー、およびグローバルに異なる値がある場合、最も固有のエンティティ(サービス)の値が最も高い優先順位が与えられます。
NetScalerアプライアンスには、HTTPを構成するための他の方法も用意されています。詳細については読んでください。
NetScalerはWebSocketプロトコルをサポートしているため、ブラウザやその他のクライアントはサーバーへの双方向の全二重TCP接続を作成できます。 WebSocketのNetScaler 実装はRFC 6455に準拠しています。
注:
NetScalerアプライアンスは、HTTP/1.1プロトコルとHTTP/2プロトコルの両方でユーザーソースIP(USIP)アドレス構成をサポートしています。

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

NetScalerアプライアンスでは、すべてのNetScalerサービスと仮想サーバーに適用されるHTTPパラメーターの値を指定できます。これは、以下を使用して実行できます。
  • デフォルトの HTTP プロファイル
  • グローバル HTTP コマンド

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

nshttp_default_profile という名前の HTTP プロファイルを使用して、サービスレベルまたは仮想サーバーレベルで HTTP 構成が提供されていない場合に使用される HTTP 構成を指定します。
メモ:
  • すべての HTTP パラメータをデフォルトの HTTP プロファイルで設定できるわけではありません。一部の設定は、グローバル HTTP コマンドを使用して実行します (次のセクションを参照)。
  • デフォルトプロファイルは、サービスまたは仮想サーバーに明示的にバインドする必要はありません。
デフォルトの HTTP プロファイルを設定するには
  • コマンド・ライン・インタフェースを使用して、コマンド・プロンプトに次のように入力します。
    set ns httpProfile nshttp_default_profile …
  • GUI で、 > に移動し、 をクリックし、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/2 を有効にし、接続リクエストのコーディングスキームを無視するように HTTP/2 パラメータを設定するには、コマンドプロンプトで次のように入力します。
set ns httpParam [-ignoreConnectCodingScheme ( ENABLED | DISABLED )]
例:
set ns httpParam -ignoreConnectCodingScheme ENABLED
NetScaler ADCコマンドラインを使用してHTTPプロファイルを仮想サーバーにバインドするには

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

marktraceReqInval パラメーターを有効にして、TRACK リクエストと TRACK リクエストを無効としてマークできます。このオプションを仮想IPアドレスでDropInvalidReqsオプションとともに有効にすると、NetScalerアプライアンスに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 )]
例:
add serviceGroup Service-Group-1 HTTP -maxClient 0 -maxReq 0 -cip ENABLED -usip NO -useproxyport YES -cltTimeout 200 -svrTimeout 300 -CKA NO -TCPB NO -CMP NO -httpProfileName profile1

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

TRACE または TRACK の無効なリクエストをマークするには、次の手順を実行します。
  1. NetScaler ADCアプライアンスにサインインし、[ 構成 ]>[ システム ]>[ プロファイル]に移動します。
  2. タブページで、 をクリックします。
  3. ページで、 オプションを選択します。
  4. [Create] をクリックします。

サービスまたは仮想サーバー固有の 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 プロファイルを作成します。
  2. HTTP プロファイルをサービスまたは仮想サーバーにバインドします。
    > > に移動し、サービス/仮想サーバーにバインドする必要がある HTTP プロファイルを作成します。

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

NetScalerには、構成の便宜上、いくつかの組み込み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

アップグレードヘッダーを削除するか、バックエンドサーバーに渡すようにNetScalerアプライアンスを構成します

HTTP プロファイルの PassProtocol Upgrade パラメーターは、バックエンドサーバーへの攻撃を防ぎます。このパラメータの状態に応じて、アップグレードヘッダーはバックエンドサーバーに送信されるリクエストで渡されるか、リクエストを送信する前に削除されます。
  • PassProtocol Upgrade パラメーターが有効になっている場合は、アップグレードヘッダーがバックエンドサーバーに渡されます。サーバーはアップグレード要求を受け入れ、応答で通知します。
  • パラメータが無効になっている場合、アップグレードヘッダーは削除され、残りのリクエストはバックエンドサーバーに送信されます。
PassProtocolUpgrade パラメータが次のプロファイルに追加されます。
  • nshttp_default_profile-デフォルトで有効になっています
  • nshttp_default_strict_validation-デフォルトでは無効になっています
  • nshttp_default_internal_apps-デフォルトでは無効になっています
  • nshttp_default_http_quic_profile-デフォルトで有効になっています
PassProtocol Upgrade パラメーターをデフォルトで無効に設定することをお勧めします。

CLI を使用して PassProtocol アップグレードパラメータを設定します

コマンドプロンプトで、次のように入力します:
set ns httpProfile <name> [-passProtocolUpgrade ( ENABLED | DISABLED )]
例:
set ns httpProfile profile1 -passProtocolUpgrade ENABLED

GUI を使用して PassProtocol アップグレードパラメータを設定します

  1. > > に移動します。
  2. HTTP プロファイルを作成または編集します。
  3. 「 プロトコルアップグレードをパスする」を選択します。

ホストヘッダーを検証するように HTTP プロファイルを設定する

NetScalerリリース14.1-21.x以降、NetScalerは受信HTTPリクエストのホストヘッダーの検証をサポートして、ホストヘッダーの注入や攻撃を防ぎます。
ホストヘッダーの検証を有効にすると、次のチェックが実行されます:
  • ホストヘッダーのIPアドレスまたはDNS名部分であるホストヘッダーの長さは、255文字以下です。
  • 最大ポート番号は 65535 なので、指定した場合、ポート番号は 5 文字以下です。
ホストヘッダーが定義された条件に従わない場合、そのような HTTP リクエストはドロップされます。
デフォルトでは、ホストヘッダーの検証はデフォルトプロファイルでは無効になっており、セキュアまたは厳密な HTTP プロファイルでは有効になっています。

NetScaler CLIを使用してHTTPホストヘッダーを検証する

コマンドプロンプトで、次のように入力します:
set ns httpprofile <name> -hostHeaderValidation (ENABLED | DISABLED)
例:
set ns httpProfile http_profile1 -hostHeaderValidation ENABLED

NetScaler GUIを使用してHTTPホストヘッダーを検証する

  1. > > に移動します。
  2. HTTP プロファイルを作成または編集します。
  3. 「 HTTP プロファイルの設定 」ページで、「 ホストヘッダー検証」を選択します。