Windows Server 的 IIS 网站启用 HTTP/2 后,Chrome 访问可能报错 ERR_HTTP2_INADEQUATE_TRANSPORT_SECURITY,页面无法打开。

原因
Windows Server 默认开启了 HTTP/2,但系统加密套件列表中若存在 HTTP/2 明确禁止的弱算法(如 RC4、Triple DES),或启用了过低的 TLS 版本,TLS 握手协商出的配置不符合 HTTP/2 的强制要求(RFC 7540),浏览器就会中断连接并报此错误。
解决方法一:用 IIS Crypto 修正协议与套件(推荐)
IIS Crypto 是 Nartac Software 出品的免费工具,可以在图形界面里直接调整 Windows 的 Schannel 协议与套件配置,无需手动改注册表。
- 下载 IIS Crypto,以管理员身份运行。
- 在 Protocols 页:勾选
TLS 1.2、TLS 1.3,取消勾选SSL 2.0、SSL 3.0、TLS 1.0、TLS 1.1。 - 在 Ciphers 页:取消勾选
RC4、Triple DES 168等弱加密套件,保留 AES-GCM 系列。 - 点击 Apply,按提示重启服务器。


此方法保留 HTTP/2 的性能收益,同时彻底消除弱协议和弱套件,是最推荐的方案。修改后也可以顺便用 SSL/TLS 检测工具确认站点评级是否达到 A 档。
解决方法二:禁用 HTTP/2(仅应急使用)
如果暂时无法调整套件,也可以直接在服务器上禁用 HTTP/2,让浏览器回退到 HTTP/1.1。此方法会损失 HTTP/2 的性能优势,仅建议作为应急手段。
- 运行
regedit打开注册表,进入以下路径:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters]

- 新建两个 DWORD (32 位) 值,数值数据均设为
0:
| 名称 | 数值 | 作用 |
|---|---|---|
EnableHttp2Tls |
0 | 禁用基于 HTTPS 的 HTTP/2 |
EnableHttp2Cleartext |
0 | 禁用基于明文的 HTTP/2(h2c) |

- 重启服务器生效。
小结
两种方法都需要重启服务器才能生效。建议优先使用方法一:不仅解决报错,还能顺带提升站点的 TLS 安全评级;方法二只是绕过问题,弱套件依然存在,后续应尽快按方法一修正。