访问本地托管的 SPA 时 Google Chrome 中的错误 "ERR_HTTP2_INADEQUATE_TRANSPORT_SECURITY"

Error "ERR_HTTP2_INADEQUATE_TRANSPORT_SECURITY" in Google Chrome while accessing locally hosted SPA

我有一个本地托管的 SPA(Kestral/.Net 核心)。它使用 自签名证书 进行 HTTPS 通信(通过 windows 10 中的服务器证书生成)。

它适用于 IE11,但是当从 Google Chrome 访问时,显示错误 - ERR_HTTP2_INADEQUATE_TRANSPORT_SECURITY.

关于如何克服这个问题的任何线索?

目前已完成的故障排除:

  1. 自定义密码套件顺序。
  2. 通过 windows 注册表禁用 HTTP2。

要使用 HTTP/2,您必须使用 TLSv1.2 和 cannot use a number of blacklisted, less secure ciphers。这基本上意味着您必须使用 GCM 密码之一,例如 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256(尽管也支持其他较新的密码,例如 TLS_CHACHA20_POLY1305_SHA256)。

如果您只配置了较旧的密码,那么 Chrome 将回退到 HTTP/1.1,或者,如果它不可用,它将出错并显示该错误消息。

添加如果它可以帮助任何人挖掘相同的东西,对于 Kestral 将协议版本设置为 http1 看起来是解决这个问题的方法,因为至少在 .Net 核心中密码套件在 kestral 中看起来不可配置3.1.