Поделиться через


netsh http

Эта netsh http команда позволяет настраивать параметры HTTP для службы HTTP в Windows и управлять ими. Эта служба обрабатывает 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 - Обозначает значение параметра, измеряемое в байтах. Если используется шестнадцатеричное представление, добавьте к значению префикс .0x
HTTP add iplisten Добавляет новый IP-адрес в список прослушиваемых IP-адресов для службы HTTP. В этом списке указываются IP-адреса, к которым привязывается служба HTTP, за исключением номеров портов. Адрес '0.0.0.0' представляет все IPv4-адреса, а '::' представляет все IPv6-адреса. В этом формате используется ipaddress=IP_Address.
HTTP add setting Добавляет глобальный параметр конфигурации в службу HTTP.

settingtype=sslthrottle - Указывает ограничение регулирования для SSL-подключений.

value - требуется неотрицательное целочисленное значение (ulong) для установки желаемого уровня троттлинга.
HTTP add sslcert Добавляет привязку SSL-сертификата для указанного IP-адреса или имени хоста и порта, а также соответствующие политики клиентских сертификатов для безопасного управления HTTPS-соединениями для службы HTTP.

Подробнее об описании параметров см. в разделе Примечания.
HTTP add timeout Определяет глобальный параметр времени ожидания для службы HTTP.

timeouttype= Варианты включают:
  • idleconnectiontimeout - Указывает максимальную продолжительность неактивного соединения, которое может поддерживаться до его закрытия.
  • headerwaittimeout - Определяет максимальное время ожидания получения полного набора HTTP-заголовков.

  • Для value параметра требуется неотрицательное целое число (u-short), представляющее продолжительность тайм-аута в секундах.
    HTTP add urlacl Позволяет пользователям и учетным записям, не являющимся администраторами, регистрировать URL-адрес. Права доступа могут быть определены либо путем указания имени учетной записи NT вместе с параметрами listen and delegate , либо с помощью строки языка определения дескрипторов безопасности (SDDL) для списка дискреционного контроля доступа (DACL).

    url= - Указывает полный URL-адрес, который вы хотите связать со списком управления доступом (ACL). Он должен включать протокол (например, http:// или https://), домен и все необходимые сегменты порта или пути.
    user= - Идентифицирует имя пользователя или группы пользователей, которым предоставлен доступ. Это может быть формат одного имени пользователя, группы пользователей или участника безопасности.
    listen - Определяет, есть ли у указанного пользователя разрешение на регистрацию URL. Options include:
  • yes - Предоставляет пользователю разрешение на регистрацию указанного URL (настройка по умолчанию).
  • no - Запрещает пользователю зарегистрировать указанный URL.
  • delegate - Определяет, есть ли у указанного пользователя разрешение на делегирование URL. Options include:
  • yes - Позволяет пользователю делегировать управление URL-адресами другим пользователям.
  • no - Запрещает пользователю делегировать управление URL-адресами другим (настройка по умолчанию).
  • sddl - Строка SDDL, содержащая подробное описание списка управления доступом на уровне пользователя (DACL), связанного с ACL URL, с указанием разрешений и прав доступа для пользователей и групп.
    HTTP delete cache Очищает весь кэш URI или удаляет определенные записи на основе указанного URI.

    url= - Указывает запись URL в кэше HTTP, которую вы хотите удалить.

    recursive - Принимает значение или yesno. Если установлено значение yes, он удаляет не только указанную запись URL, но и все записи под этим URL, эффективно очищая кэш для указанного URL и любых вложенных URL или связанных ресурсов. Если задано значение , noиз кэша удаляется только указанный URL-адрес, не затрагивая никаких подзаписей.
    HTTP delete iplisten Удаляет IP-адрес из списка прослушиваемых IP-адресов.

    ipaddress= - Указывает IP-адрес, который вы хотите удалить из списка HTTP-прослушивателей.
    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
  • Отображает параметры кэша службы HTTP, измеряемые в байтах (cacheparam).
  • Выводит список всех IP-адресов, включенных в данный момент в список прослушиваемых IP-адресов (iplisten).
  • Отображает текущие конфигурационные параметры службы HTTP в секундах (setting).
  • Отображает значения времени ожидания, установленные для службы HTTP в секундах (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:port
  • hostnameport=name:port
  • ccs=port
  • json=enable

    Подробнее об описании параметров см. в разделе Примечания.
  • HTTP show urlacl Отображает списки DACL для указанного зарезервированного URL-адреса или для всех зарезервированных URL-адресов, предоставляя аналитические сведения об их разрешениях на доступ.

    url= - Указывает резервирование URL-адреса, сведения о котором вы хотите просмотреть.
    HTTP update sslcert Обновляет существующую привязку сертификата SSL-сервера и связанные с ним политики сертификатов клиента для указанного IP-адреса или имени хоста и порта.

    Подробнее об описании параметров см. в разделе Примечания.
    HTTP update sslpropertyex Изменяет параметры существующей привязки сертификата SSL-сервера и связанных с ним клиентских политик сертификатов для заданного IP-адреса или имени хоста и порта.

  • propertyid=0 receivewindow=<bytes> - Обновляет размер окна приема для SSL-соединений. propertyid=0 Определяет это конкретное свойство и receivewindow=<bytes> задает размер окна приема в байтах.
  • propertyid=1 maxsettingsperframe=<value> maxsettingsperminute=<value> - Обновляет настройки HTTP/2, связанные с SSL-соединениями. propertyid=1 Здесь указывается именно это свойство, при этом maxsettingsperframe=<value> задается максимальное количество допустимых кадров настроек на кадр и maxsettingsperminute=<value> задается максимальное количество допустимых кадров настроек в минуту.

  • Другие доступные подпараметры:
  • hostnameport=name:port
  • ipport=ipaddr:port
  • ccs=port

  • Подробнее об описании параметров см. в разделе Примечания.
    help или? Отображает список команд и их описания в текущем контексте.

    Remarks

    • hostnameport=name:port: Указывает привязку с помощью имени хоста и номера порта. Этот параметр привязывает SSL-сертификат к определенному имени хоста (например, www.example.com) на указанном порту (обычно порт 443 для HTTPS).

    • ipport=ipaddr:port: Указывает привязку с помощью IP-адреса и номера порта. Это привязывает SSL-сертификат к определенному IP-адресу (например, 192.168.1.1) и порту.

    • ccs=port— относится к порту центрального хранилища сертификатов (CCS). В этом контексте CCS обеспечивает централизованное управление SSL-сертификатами на нескольких серверах, используя определенный порт для привязки SSL.

    • json=filepath: Использует JSON-файл для настройки привязки SSL. Этот параметр позволяет задавать сложные или массовые параметры конфигурации в формате JSON, который служба HTTP может анализировать и применять.

    • appid=GUID– уникальный идентификатор (GUID) приложения, связанного с привязкой сертификата.

    • certhash=<string>– хэш сертификата (часто представленный в виде отпечатка пальца) SSL-сертификата, который необходимо привязать.

    • certstorename=<string>— имя хранилища сертификатов, в котором находится SSL-сертификат (например, MY для личного хранилища).

    • verifyclientcertrevocation=: Включает или отключает проверку статуса отзыва сертификата клиента. Варианты enable или disable.

    • verifyrevocationwithcachedclientcertonly=: определяет, используются ли для проверки отзыва только кэшированные сертификаты клиента. Варианты enable или disable.

    • usagecheck=: Проверяет политики использования сертификатов. Варианты enable или disable. По умолчанию включено.

    • revocationfreshnesstime=: Устанавливает время актуальности для данных отзыва в секундах. Если установлено значение 0, то новый список отзыва сертификатов обновляется только по истечении срока действия предыдущего.

    • urlretrievaltimeout=: определяет время ожидания для получения URL-адресов отзыва в миллисекундах.

    • sslctlidentifier=<string>– идентификатор для используемого списка доверия сертификатов SSL (CTL).

    • sslctlstorename=<string>: указывает имя хранилища сертификатов в кусте реестра LOCAL_MACHINE , где хранится SSL CTL.

    • 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 для возобновления сеанса. Варианты enable или disable.

    Examples

    Чтобы зарезервировать URL-адрес http://example.com:8080/ для пользователя DOMAIN\UserName с включенными правами на прослушивание, выполните следующую команду:

    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
    

    Чтобы просмотреть сведения о SSL-сертификате для определенного IP-адреса и порта, выполните следующую команду:

    netsh http show sslcert ipport=192.168.1.100:443
    

    Чтобы обновить настройки HTTP/2 в отношении SSL-соединений на определенном IP и порту, разрешая 100 кадры через 1000 минуты, выполните следующую команду:

    netsh http update sslpropertyex ipport=192.168.1.100:443 propertyid=1 maxsettingsperframe=100 maxsettingsperminute=1000
    

    See also