您好,欢迎来到口耳相传正版软件商城!
商品分类

Kestrel配置SSL证书时谷歌浏览器报错ERR_HTTP2_INADEQUATE_TRANSPORT_SECURITY

SSL证书申请

在ASP.net环境下的Kestrel给网站配置SSL证书时,发现谷歌浏览器报错ERR_HTTP2_INADEQUATE_TRANSPORT_SECURITY。而Safari浏览器却正常。手机上的谷歌浏览器也正常。

服务器系统是Windows Server 2012,在网上找搜了一圈也没找到解决办法。最后还是看了官方的文档:https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/servers/kestrel?view=aspnetcore-2.2#kestrel-options 虽然看得一知半解,但还是找到问题的关键。错误提示HTTP2错误,那就把HTTP2禁用了。在Kestrel配置里面,强制为Http1。然后重启一下。

  "Endpoints": {
    "Https": {
      "Url": "https://*:443",
      "Protocols": "Http1"
    }
  }

ListenOptions.Protocols
Protocols 属性建立在连接终结点上或为服务器启用的 HTTP 协议(HttpProtocols)。 从 HttpProtocols 枚举向 Protocols 属性赋值。

HttpProtocols 枚举值 允许的连接协议
Http1 仅 HTTP/1.1。 可以在具有 TLS 或没有 TLS 的情况下使用。
Http2 仅 HTTP/2。 仅当客户端支持先验知识模式时,才可以在没有 TLS 的情况下使用。
Http1AndHttp2 HTTP/1.1 和 HTTP/2。 HTTP/2 需要 TLS 和应用程序层协议协商 (ALPN) 连接;否则,连接默认为 HTTP/1.1。

Github上有大神说是服务器版本太低,ALPN出问题,必须要禁用HTTP/2,(https://github.com/dotnet/aspnetcore/issues/16811)。具体原因我就不深究了,只要能解决问题就行。希望碰到ERR_HTTP2_INADEQUATE_TRANSPORT_SECURITY错误的同学,使用我的解决方法可以搞定。

发表回复

登录后才能评论
联系我们

联系我们

1691750823-kfrx

在线咨询:点击这里给我发消息

邮件:1691751467-kfyx

工作时间:周一至周五,9:30-17:30,节假日休息

关注微信
关注微信
分享本页
返回顶部