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을 등록할 수 있도록 허용합니다. 액세스 권한은 및 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 |
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: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