新的HTTP/3协议应该比HTTP/2更快、更安全。如何在运行IIS网站的Windows Server上启用它?
rpppsulh1#
在撰写本文时,HTTP/3仅在Windows Server 2022上受支持。如果您使用的是任何以前的版本,恐怕您的运气不好。假设您使用的是Windows Server 2022,下面介绍了如何启用它。
步骤1:更新Windows注册表
将以下文本复制并粘贴到一个新的.reg文件中。
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client] "DisabledByDefault"=dword:00000000 "Enabled"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Server] "DisabledByDefault"=dword:00000000 "Enabled"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters] "EnableHttp3"=dword:00000001 "EnableAltSvc"=dword:00000001
x1c 0d1x保存后,在Windows Server 2022上双击或使用reg.exe执行。
步骤2:启用TLS加密
注意:根据其他用户的反馈,此步骤 * 可能是可选的 *。但是,我需要在安装时启用它。以管理员身份打开PowerShell以启用TLS_CHACHA20_POLY1305_SHA256密码套件。在PowerShell中执行以下命令:Enable-TlsCipherSuite -Name TLS_CHACHA20_POLY1305_SHA256 -Position 0
TLS_CHACHA20_POLY1305_SHA256
Enable-TlsCipherSuite -Name TLS_CHACHA20_POLY1305_SHA256 -Position 0
步骤3:允许端口443上的UDP连接
HTTP/3使用QUIC协议,该协议使用 * 端口443* 上的传入UDP连接。如果您使用防火墙,则需要允许连接。以下是该规则在Windows防火墙中的外观:第一次
步骤4:将HTTP/3响应标头添加到IIS
HTTP/3要求IIS中有一些特殊的响应头。请选择网站或IIS中的计算机,然后选择“HTTP响应头”。使用名称alt-svc和值h3=":443"; ma=86400; persist=1建立新的回应信头。第一次好了!现在测试一下以确保HTTP/3在您的浏览器中正常工作。许多现代浏览器都支持HTTP/3,因此您不需要更改任何配置。但是,有一点需要注意的是HTTP/3 * 只在HTTPS连接 * 上工作,因此如果您使用HTTP加载网站,它将无法工作。请确保在IIS中将网站配置为使用HTTPS协议。
alt-svc
h3=":443"; ma=86400; persist=1
通过浏览器的开发工具,你可以知道HTTP/3何时运行。打开开发工具,点击网络选项卡,注意protocol列。Chrome 108.0.5359.94截图:
protocol
Firefox 107.0.1屏幕截图:指令集
故障排除提示
更多资源和参考资料:
1条答案
按热度按时间rpppsulh1#
在撰写本文时,HTTP/3仅在Windows Server 2022上受支持。如果您使用的是任何以前的版本,恐怕您的运气不好。
假设您使用的是Windows Server 2022,下面介绍了如何启用它。
步骤1:更新Windows注册表
将以下文本复制并粘贴到一个新的.reg文件中。
x1c 0d1x保存后,在Windows Server 2022上双击或使用reg.exe执行。
步骤2:启用TLS加密
注意:根据其他用户的反馈,此步骤 * 可能是可选的 *。但是,我需要在安装时启用它。
以管理员身份打开PowerShell以启用
TLS_CHACHA20_POLY1305_SHA256
密码套件。在PowerShell中执行以下命令:Enable-TlsCipherSuite -Name TLS_CHACHA20_POLY1305_SHA256 -Position 0
步骤3:允许端口443上的UDP连接
HTTP/3使用QUIC协议,该协议使用 * 端口443* 上的传入UDP连接。如果您使用防火墙,则需要允许连接。以下是该规则在Windows防火墙中的外观:第一次
步骤4:将HTTP/3响应标头添加到IIS
HTTP/3要求IIS中有一些特殊的响应头。请选择网站或IIS中的计算机,然后选择“HTTP响应头”。
使用名称
alt-svc
和值h3=":443"; ma=86400; persist=1
建立新的回应信头。第一次
好了!现在测试一下以确保HTTP/3在您的浏览器中正常工作。许多现代浏览器都支持HTTP/3,因此您不需要更改任何配置。但是,有一点需要注意的是HTTP/3 * 只在HTTPS连接 * 上工作,因此如果您使用HTTP加载网站,它将无法工作。请确保在IIS中将网站配置为使用HTTPS协议。
通过浏览器的开发工具,你可以知道HTTP/3何时运行。打开开发工具,点击网络选项卡,注意
protocol
列。Chrome 108.0.5359.94截图:Firefox 107.0.1屏幕截图:
指令集
故障排除提示
更多资源和参考资料: