netsh http コマンドを使用すると、Windows で HTTP サービスの HTTP 設定を構成および管理できます。 このサービスは、アプリケーションとシステム コンポーネントの HTTP トラフィックを処理し、SSL 証明書、IP リスニング リスト、キャッシュ パラメーター、タイムアウトなどの側面を制御できるようにします。 このコマンドを使用して、HTTP の動作を微調整し、セキュリティを強化し、HTTP トラフィックに関連するネットワークの問題をトラブルシューティングします。
Syntax
netsh http [add | delete | dump | flush | help | show | update | ?]
netsh http add cacheparam [type=](cacherangechunksize|maxcacheresponsesize)
                          [value=]<ulong>
netsh http add iplisten [ipaddress=]<IP address>
netsh http add setting [settingtype=]sslthrottle
                       [value=]<ulong>
netsh http add timeout [timeouttype=]idleconnectiontimeout|headerwaittimeout
                       [value=]<u-short>
netsh http add sslcert [hostnameport=<name:port> | ipport=<ipaddr:port> | ccs=<port>] | json=[filepath]
                       [appid=<GUID>] [certhash=<string>] [certstorename=<string>] [verifyclientcertrevocation=enable|disable]
                       [verifyrevocationwithcachedclientcertonly=enable|disable] [usagecheck=enable|disable]
                       [revocationfreshnesstime=<u-int>] [urlretrievaltimeout=<u-int>] [sslctlidentifier=<string>]
                       [sslctlstorename=<string>] [dsmapperusage=enable|disable] [clientcertnegotiation=enable|disable]
                       [reject=enable|disable] [disablehttp2=enable|disable] [disablequic=enable|disable]
                       [disablelegacytls=enable|disable] [disabletls12=enable|disable] [disabletls13=enable|disable]
                       [disableocspstapling=enable|disable] [enabletokenbinding=enable|disable] [logextendedevents=enable|disable]
                       [enablesessionticket=enable|disable] [disablesessionid=enable|disable]
netsh http add urlacl [url=]<string> [user=]<string> [listen=]yes|no [delegate=]yes|no [sddl=]<string>
netsh http delete cache [url=<string>] [recursive=yes|no]
netsh http delete iplisten [ipaddress=<IP address>]
netsh http delete setting [settingtype=]sslthrottle
netsh http delete sslcert ipport=<ipaddr:port> | hostnameport=<name:port> | ccs=<port>
netsh http delete timeout [timeouttype=](idleconnectiontimeout|headerwaittimeout)
netsh http delete urlacl [url=]<string>
netsh http dump
netsh http flush logbuffer
netsh http show <cacheparam> <iplisten> <setting> <timeout>
netsh http show cachestate [url=<string>]
netsh http show servicestate [view=session|requestq|client] [verbose=yes|no]
netsh http show sslcert [ipport=<ipaddr:port> | hostnameport=<name:port> | ccs=<port> | scopedccs=<name:port>] [json=enable]
netsh http show urlacl [url=<string>]
netsh http update sslcert [hostnameport=<name:port> | ipport=<ipaddr:port> | ccs=<port>] | json=[filepath]
                          [appid=<GUID>] [certhash=<string>] [certstorename=<string>] [verifyclientcertrevocation=enable|disable]
                          [verifyrevocationwithcachedclientcertonly=enable|disable] [usagecheck=enable|disable]
                          [revocationfreshnesstime=<u-int>] [urlretrievaltimeout=<u-int>] [sslctlidentifier=<string>]
                          [sslctlstorename=<string>] [dsmapperusage=enable|disable] [clientcertnegotiation=enable|disable]
                          [reject=enable|disable] [disablehttp2=enable|disable] [disablequic=enable|disable]
                          [disablelegacytls=enable|disable] [disabletls12=enable|disable] [disabletls13=enable|disable]
                          [disableocspstapling=enable|disable] [enabletokenbinding=enable|disable] [logextendedevents=enable|disable]
                          [enablesessionticket=enable|disable] [disablesessionid=enable|disable]
netsh http show update sslpropertyex [hostnameport=<name:port> | ipport=<ipaddr:port> | ccs=<port>] |
                                     [propertyid=0 receivewindow=<bytes>] [propertyid=1 maxsettingsperframe=<value> maxsettingsperminute=<value>]
Parameters
| Command | Description | 
|---|---|
| http add cacheparam | 特定のパラメータを構成して、HTTP サービス キャッシュに追加します。 type- 構成するパラメーターのタイプを指定します。 オプションはcacherangechunksizeとmaxcacheresponsesizeです。value- パラメーター値をバイト単位で示します。 16進数表現を使用する場合は、値の前に0xを付けます。 | 
| http add iplisten | HTTP サービスの IP リッスン リストに新しい IP アドレスを追加します。 このリストは、ポート番号を除き、HTTP サービスがバインドする IP アドレスを指定します。 アドレス「0.0.0.0」はすべての IPv4 アドレスを表し、「::」はすべての IPv6 アドレスを表します。 フォーマットは ipaddress=IP_Addressを使用します。 | 
| http add setting | グローバル構成設定を HTTP サービスに追加します。 settingtype=sslthrottle- SSL 接続のスロットリング制限を指定します。value- 目的のスロットリング・レベルを設定するには、負以外の整数値 (ULONG) が必要です。 | 
| http add sslcert | HTTP サービスの HTTPS 接続を安全に管理するために、指定した IP アドレスまたはホスト名とポートの SSL 証明書バインディング、および対応するクライアント証明書ポリシーを追加します。 パラメーターの説明の詳細については、「 解説 」を参照してください。 | 
| http add timeout | HTTP サービスのグローバル タイムアウト設定を定義します。 timeouttype=オプションは次のとおりです。idleconnectiontimeout- アイドル接続が閉じられる前に維持できる最大期間を指定します。headerwaittimeout- HTTP ヘッダーの完全なセットが受信されるまで待機する最大時間を定義します。valueパラメーターには、タイムアウト期間を秒単位で表す非負の整数 (u-short) が必要です。 | 
| http add urlacl | 管理者以外のユーザーとアカウントが URL を登録できるようにします。 アクセス許可は、NT アカウント名を listenパラメーターとdelegateパラメーターとともに指定するか、任意アクセス制御リスト (DACL) にセキュリティ記述子定義言語 (SDDL) 文字列を使用して定義できます。url=- アクセス制御リスト (ACL) に関連付ける完全修飾 URL を指定します。 これには、プロトコル(http://やhttps://など)、ドメイン、および必要なポートまたはパスセグメントを含める必要があります。user=- アクセス権が付与されているユーザー名またはユーザー・グループ名を識別します。 これは、単一のユーザー名、ユーザー グループ、またはセキュリティ プリンシパルの形式にすることができます。listen- 指定したユーザーに URL を登録する権限があるかどうかを判断します。 Options include:yes- 指定したURLを登録する権限をユーザーに付与します(デフォルト設定)。no- ユーザーが指定したURLを登録できないようにします。delegate- 指定したユーザーに URL を委任する権限があるかどうかを判断します。 Options include:yes- ユーザーが他のユーザーに URL 管理を委任できるようにします。no- ユーザーが URL 管理を他のユーザーに委任できないようにします(デフォルト設定)。sddl- URL ACL に関連付けられた任意アクセス制御リスト (DACL) の詳細な説明を提供し、ユーザーとグループのアクセス許可とアクセス権を指定する SDDL 文字列。 | 
| http delete cache | URI キャッシュ全体をクリアするか、指定した URI に基づいて特定のエントリを削除します。 url=- 削除する HTTP キャッシュ内の URL エントリを指定します。recursive-yesまたはnoの値を受け入れます。yesに設定すると、指定された URL エントリだけでなく、その URL の下にあるすべてのエントリも削除され、指定された URL とサブ URL または関連リソースのキャッシュが効果的にクリアされます。noに設定すると、指定された URL のみがサブエントリに影響を与えずにキャッシュから削除されます。 | 
| http delete iplisten | IP リッスン リストから IP アドレスを削除します。 ipaddress=- HTTP リスナー・リストから削除する IP アドレスを指定します。 | 
| http delete setting | グローバル構成設定を削除し、HTTP サービスがその特定のパラメーターの既定の動作に戻ります。 settingtype=sslthrottle- SSL スロットル設定を削除します。 | 
| http delete timeout | グローバル・タイムアウト設定を削除し、HTTP サービスのタイムアウト動作をデフォルト値に戻します。 timeouttype=idleconnectiontimeout- アイドル接続タイムアウトの設定を削除することを指定します。 アイドル接続タイムアウトは、アイドル (非アクティブな) TCP 接続が閉じられる前に開いたままにしておく必要がある時間を定義します。 この設定を削除すると、カスタムのアイドルタイムアウト値がデフォルト状態に戻ります。timeouttype=headerwaittimeout- ヘッダー待機タイムアウトの設定を削除することを指定します。 ヘッダー待機タイムアウトは、サーバーがタイムアウトする前に HTTP 要求ヘッダーが受信されるのを待機する時間を決定します。この設定を削除すると、カスタム ヘッダーの待機タイムアウト値が既定の状態に戻ります。 | 
| http delete urlacl | 予約済み URL を削除し、指定した URL が HTTP サービスによって排他的に使用されないようにします。 url=- 削除する URL 予約を指定します。 | 
| http dump | 現在のコンテキスト構成を含むスクリプトを作成します。 スクリプトはファイルに保存し、設定が変更された場合や別のシステムにレプリケートする必要がある場合に、設定を復元するために使用できます。 | 
| http flush logbuffer | ログ ファイルの内部バッファをクリアします。 | 
| http showcacheparam|iplisten|setting|timeout | cacheparam) 単位で表示します。iplisten) に現在含まれているすべての IP アドレスを一覧表示します。setting) で表示します。timeout) で表示します。 | 
| http show cachestate | HTTP 応答キャッシュに格納されているすべてのリソースとそのプロパティを列挙するか、特定のリソースとそれに関連するプロパティに関する詳細情報を提供します。 url=- キャッシュ状態を表示する特定の URL を指定します。 | 
| http show servicestate | HTTP サービスの現在のスナップショットを表示します。 view=- HTTP サービス状態のどの側面を表示するかを指定します。 次のいずれかのオプションを選択できます。session- 接続やセッションの詳細など、アクティブなセッションに関する情報を表示します。requestq- リクエストキューの状態を表示し、処理中およびキューに入れられているリクエストの数に関する洞察を提供します。client- 接続されているクライアントの数や接続の詳細など、クライアント接続に関する情報を提供します。verbose=- 出力に含まれる詳細レベルを決定します。yes- 詳細情報を提供し、選択したサービス状態をより包括的に表示します。no- サービスの状態の概要を簡単に把握するのに役立ちます。 | 
| http show sslcert | SSL サーバー証明書バインディングと、関連付けられたクライアント証明書ポリシーを一覧表示します。 特定のバインディングが指定されていない場合は、使用可能なすべてのバインディングが表示されます。 scopedccs=name:port- ホスト名とポートを指定して、スコープ付き中央証明書ストア (CCS) エントリを指定します。hostnameportパラメータと同様に、特定のスコープ付き CCS 設定に関連する証明書に出力を集中させます。使用可能なサブパラメータは次のとおりです。 ipport=ipaddr:porthostnameport=name:portccs=portjson=enableパラメーターの説明の詳細については、「 解説 」を参照してください。 | 
| http show urlacl | 指定した予約済み URL またはすべての予約済み URL の DACL を表示し、アクセス許可に関する分析情報を提供します。 url=- 詳細を表示する URL 予約を指定します。 | 
| http update sslcert | 指定した IP アドレスまたはホスト名とポートの既存の SSL サーバー証明書バインディングと関連するクライアント証明書ポリシーを更新します。 パラメーターの説明の詳細については、「 解説 」を参照してください。 | 
| http update sslpropertyex | 特定の IP アドレスまたはホスト名とポートに対する既存の SSL サーバー証明書バインディングとそれに関連するクライアント証明書ポリシーのパラメーターを変更します。 propertyid=0 receivewindow=<bytes>- SSL 接続の受信ウィンドウ・サイズを更新します。propertyid=0この特定のプロパティを識別し、受信ウィンドウのサイズをバイト単位で設定receivewindow=<bytes>。propertyid=1 maxsettingsperframe=<value> maxsettingsperminute=<value>- SSL 接続に関連する HTTP/2 設定を更新します。 ここで、propertyid=1はこの特定のプロパティを指定し、maxsettingsperframe=<value>はフレームあたりに許可される設定フレームの最大数を設定し、maxsettingsperminute=<value>は 1 分あたりに許可される設定フレームの最大数を設定します。その他の使用可能なサブパラメータは次のとおりです。 hostnameport=name:portipport=ipaddr:portccs=portパラメーターの説明の詳細については、「 解説 」を参照してください。 | 
| help又は? | 現在のコンテキストでのコマンドとその説明の一覧を表示します。 | 
Remarks
- hostnameport=name:port: ホスト名とポート番号を使用してバインディングを指定します。 このオプションは、SSL 証明書を、指定されたポート (通常、HTTPS の場合はポート 443) 上の特定のホスト名 (- www.example.comなど) にバインドします。
- ipport=ipaddr:port: IP アドレスとポート番号を使用してバインディングを指定します。 これにより、SSL 証明書が特定の IP アドレス (- 192.168.1.1など) とポートにバインドされます。
- ccs=port:Central Certificate Store(CCS)ポートを参照します。 このコンテキストでは、CCS を使用すると、SSL バインディングに特定のポートを使用して、複数のサーバー間で SSL 証明書を一元管理できます。
- json=filepath: SSL バインディングの設定に JSON ファイルを使用します。 このオプションを使用すると、HTTP サービスが解析して適用できる複雑な構成設定や一括構成設定を JSON 形式で指定できます。
- appid=GUID: 証明書バインディングに関連付けられているアプリケーションの一意の識別子 (GUID)。
- certhash=<string>: バインドされるSSL証明書の証明書ハッシュ(多くの場合、拇印として表されます)。
- certstorename=<string>: SSL 証明書が配置されている証明書ストアの名前 (たとえば、個人ストアの- MY)。
- verifyclientcertrevocation=: クライアント証明書失効ステータスの検証を有効または無効にします。- enableまたは- disableのいずれかを選択できます。
- verifyrevocationwithcachedclientcertonly=: キャッシュされたクライアント証明書のみを失効チェックに使用するかどうかを決定します。- enableまたは- disableのいずれかを選択できます。
- usagecheck=: 証明書の使用ポリシーを確認します。- enableまたは- disableのいずれかを選択できます。 デフォルトは 有効です。
- revocationfreshnesstime=: 失効データの鮮度時間を 秒単位で設定します。 値が- 0に設定されている場合、新しい CRL は、前の CRL の有効期限が切れた場合にのみ更新されます。
- urlretrievaltimeout=: 失効 URL を取得するためのタイムアウトを ミリ秒単位で定義します。
- sslctlidentifier=<string>: 使用する SSL 証明書信頼リスト (CTL) の識別子。
- sslctlstorename=<string>: SSL CTL が格納されている- LOCAL_MACHINEレジストリ ハイブの下にある証明書ストアの名前を指定します。
- dsmapperusage=: クライアント証明書のマッピングにActive Directory DSMapperを使用することを有効または無効にします。- enableまたは- disableのいずれかを選択できます。
- clientcertnegotiation=: SSL ハンドシェイク中のクライアント証明書のネゴシエーションを制御します。- enableまたは- disableのいずれかを選択できます。 デフォルトは 無効です。
- reject=: 特定の基準に基づいて SSL 接続を拒否することを指定します。- enableまたは- disableのいずれかを選択できます。
- disablehttp2=: HTTP/2 プロトコルのサポートを有効または無効にします。- enableまたは- disableのいずれかを選択できます。
- disablequic=: QUIC プロトコルのサポートを有効または無効にします。- enableまたは- disableのいずれかを選択できます。
- disablelegacytls=: レガシー TLS プロトコルの使用を有効または無効にします。- enableまたは- disableのいずれかを選択できます。
- disabletls12=|- disabletls13=: 特定のバージョンの TLS プロトコル (TLS 1.2 または TLS 1.3) を有効または無効にします。- enableまたは- disableのいずれかを選択できます。
- disableocspstapling=: 証明書失効ステータスのチェックに使用される OCSP ステープルを有効または無効にします。- enableまたは- disableのいずれかを選択できます。
- enabletokenbinding=: セキュリティを強化するためにトークン バインディングを有効または無効にします。- enableまたは- disableのいずれかを選択できます。
- logextendedevents=: 診断目的で拡張イベントのログを有効または無効にします。- enableまたは- disableのいずれかを選択できます。
- enablesessionticket=: SSL セッションチケットをセッション再開に対して有効にするかどうかを制御します。- enableまたは- disableのいずれかを選択できます。
- disablesessionid=: セッションの再開時に SSL セッション ID を無効にするかどうかを制御します。- enableまたは- disableのいずれかを選択できます。
Examples
リスニング権限が有効になっているユーザーDOMAIN\UserNameのURLhttp://example.com:8080/を予約するには、次のコマンドを実行します。
netsh http add urlacl url=http://example.com:8080/ user=DOMAIN\UserName listen=yes
リッスンするアドレスのリストから特定の IP アドレスを削除するには、次のコマンド HTTP.sys 実行します。
netsh http delete iplisten ipaddress=192.168.1.100
特定の URL のキャッシュ状態を表示するには、次のコマンドを実行します。
netsh http show cachestate url=http://example.com
URL 予約を削除するには、次のコマンドを実行します。
netsh http delete urlacl url=http://+:80/MyApp
特定の URL 予約に関する詳細を表示するには、次のコマンドを実行します。
netsh http show urlacl url=http://+:80/MyApp
特定の IP およびポートの SSL 証明書の詳細を表示するには、次のコマンドを実行します。
netsh http show sslcert ipport=192.168.1.100:443
特定の IP およびポートでの SSL 接続に関する HTTP/2 設定を更新して、1000 分で100フレームを許可するには、次のコマンドを実行します。
netsh http update sslpropertyex ipport=192.168.1.100:443 propertyid=1 maxsettingsperframe=100 maxsettingsperminute=1000