win7系統下載
當前位置: 首頁 > 硬件軟件教程 > 詳細頁面

Kestrel設置SSL證書時谷歌瀏覽器報錯ERR_HTTP2_INADEQUATE_TRANSPORT_SECURITY

發布時間:2025-03-30 文章來源:xp下載站 瀏覽:

在ASP.net環境下的Kestrel給網站配置SSL證書時,發現谷歌瀏覽器報錯ERR_HTTP2_INADEQUATE_TRANSPORT_SECURITY。而Safari瀏覽器卻正常。手機上的谷歌瀏覽器也正常。

Kestrel配置SSL證書時谷歌瀏覽器報錯ERR_HTTP2_INADEQUATE_TRANSPORT_SECURITY

服務器系統是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錯誤的同學,使用我的解決方法可以搞定。

本文章關鍵詞: Kestrel設置SSL證書 
久久亚洲国产的中文