다음을 통해 공유


netsh http

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 - 구성할 매개변수의 유형을 지정합니다. 옵션은 cacherangechunksizemaxcacheresponsesize입니다.

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을 등록할 수 있도록 허용합니다. 액세스 권한은 및 delegate 매개 변수와 listen 함께 NT 계정 이름을 지정하거나 DACL(임의 액세스 제어 목록)에 대한 SDDL(보안 설명자 정의 언어) 문자열을 사용하여 정의할 수 있습니다.

    url= - ACL(Access Control List)과 연관시킬 완전한 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- 또는 no값 을 허용합니다yes. 로 설정 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
  • HTTP 서비스의 캐시 매개변수를 바이트 단위로 표시합니다(cacheparam).
  • 현재 IP 수신 목록(iplisten)에 포함된 모든 IP 주소를 나열합니다.
  • 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 지정된 예약된 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> 당 허용되는 최대 설정 프레임 수를 설정하고 분당 허용되는 최대 설정 프레임 수를 설정합니다.

  • 사용 가능한 다른 하위 매개변수는 다음과 같습니다.
  • hostnameport=name:port
  • ipport=ipaddr:port
  • ccs=port

  • 매개 변수 설명에 대한 자세한 내용은 설명 을 참조하세요.
    help 또는? 현재 컨텍스트에서 명령 및 해당 설명의 목록을 표시합니다.

    Remarks

    • hostnameport=name:port: 호스트 이름 및 포트 번호를 사용하여 바인딩을 지정합니다. 이 옵션은 SSL 인증서를 지정된 포트(일반적으로 HTTPS의 경우 포트 443)의 특정 호스트 이름(예 www.example.com: )에 바인딩합니다.

    • ipport=ipaddr:port: IP 주소 및 포트 번호를 사용하여 바인딩을 지정합니다. 이렇게 하면 SSL 인증서가 특정 IP 주소(예: 192.168.1.1) 및 포트에 바인딩됩니다.

    • ccs=port: CCS(Central Certificate Store) 포트를 나타냅니다. 이러한 맥락에서 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 에 대한 URL http://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
    

    See also