В Windows Server 2022 появилась встроенная поддержка протокола HTTP/3 , который позволяет существенно увеличить скорость загрузки веб страниц сайтов IIS и безопасность. Основная особенности HTTP/3, он построен на базе транспортного протокола QUIC (Quick UDP Internet Connections), который работает поверх UDP. Наибольший профит от использования HTTP/3 получат пользователи с медленный и нестабильный интернет подключением. В этой статье мы рассмотрим, как включить поддержку HTTP/3 для веб сайта на Internet Information Service (IIS 10.0.20348+) в Windows Server 2022.
Чтобы включить поддержку HTTP/3 на IIS нужно настроить несколько параметров в Windows Server:
Чтобы включить поддержку протокола TLS 1.3 в Windows Server, нужно изменить несколько параметров реестра (в этом примере мы включаем поддержку клиентской и серверной части TLS 1.3).
reg add "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.3Client" /v DisabledByDefault /t REG_DWORD /d 0 /f
reg add "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.3Client" /v Enabled /t REG_DWORD /d 1 /f
reg add "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.3Server" /v DisabledByDefault /t REG_DWORD /d 0 /f
reg add "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.3Server" /v Enabled /t REG_DWORD /d 1 /f
После этого нужно включить поддержку HTTP/3 для IIS:
reg add "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesHTTPParameters" /v EnableHttp3 /t REG_DWORD /d 1 /f
reg add "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesHTTPParameters" /v EnableAltSvc /t REG_DWORD /d 1 /f
Затем нужно разрешить использовать специальный TLS шифр с помощью команды PowerShell:
Enable-TlsCipherSuite -Name TLS_CHACHA20_POLY1305_SHA256 -Position 0
Проверьте, что поддержка данного комплекта шифров включена:
(Get-TlsCipherSuite).Name | Select-String CHACHA
Теперь нужно добавить HTTP/3 в заголовок ответа сайта. Создайте простой сайт на IIS (для теста можно использовать default web site), привяжите к сайту SSL сертификат (можно использовать самоподписанный сертификат , но нужно чтобы клиент доверял этому сертификату) и привяжите сайт к порту 443 (в меню Edit Bindings).
Обратите внимание, что в меню привязки сайта в IIS появилось несколько дополнительных опций (Disable QUIC, Disable TLS 1.3 over TCP, Disable Legacy TLS).
Затем откройте раздел HTTP Response Headers в настройках сайта IIS и добавьте следующую опцию в список ответов HTTP:
alt-svc
h3=":443"; ma=86400; persist=1
Эту опцию HTTP Header можно добавить с помощью PowerShell:
Import-Module WebAdministration
$siteName ="Default Web Site"
$headerName="alt-svc"
$headerValue='h3=":443"; ma=86400; persist=1'
Add-WebConfigurationProperty -Filter "system.webServer/httpProtocol/customHeaders" -PSPath IIS:Sites$siteName -Name . -AtElement @{name=$headerName}-Value @{name=$headerName;value=$headerValue}
Проверьте, что трафик QUIC (порт 443/UDP) разрешен в Microsoft Defender Firewall:
Get-NetFirewallRule | ?{ $_.DisplayName -eq "World Wide Web Services (QUIC Traffic-In)" }|select name,enabled, status
Если правило неактивно, включите правило файервола с помощью PowerShell :
Get-NetFirewallRule IIS-WebServerRole-QUIC-In-UDP|enable-netfirewallrule
Перезагрузите Windows Server. После перезагрузки проверьте, что сайт IIS отвечает по HTTP/3.
Большинство современных браузеров по-умолчанию поддерживают протоколов HTTP/3.
Клиент удаленного рабочего стола (rdp) предоставляет нам возможность войти на сервер терминалов через консоль. Что…
В VMware Workstation есть несколько способов настройки сети гостевой машины: 1) Bridged networking 2) Network…
Встроенный брандмауэр Windows может не только остановить нежелательный трафик на вашем пороге, но и может…
Вопреки распространенному мнению, отключить IPv6 в Windows Vista и Server 2008 это не просто снять…
Параметры экранной заставки для текущего пользователя можно править из системного реестра, для чего: Запустите редактор…
В этой статье расскажу про возможность просмотра журналов событий из командной строки. Эти возможности можно…