ERR_HTTP2_INADEQUATE_TRANSPORT_SECURITY 使用 HTTPS 在 localhost 上运行 .net5.0 隔离功能时

Posted

技术标签:

【中文标题】ERR_HTTP2_INADEQUATE_TRANSPORT_SECURITY 使用 HTTPS 在 localhost 上运行 .net5.0 隔离功能时【英文标题】:ERR_HTTP2_INADEQUATE_TRANSPORT_SECURITY when running .net5.0 isolated function on localhost with HTTPS 【发布时间】:2021-09-17 14:25:10 【问题描述】:

我有一个 .net5.0 azure 函数(在隔离模式下)在我的本地主机上运行以进行开发。为了对系统的其余部分进行测试,我正在尝试启用 HTTPS 支持。

我正在运行该函数

func host start --dotnet-isolated-debug --useHttps --cert <certificate.pfx> --password <password>

版本是

Azure Functions Core Tools
Core Tools Version:       3.0.3568 Commit hash: e30a0ede85fd498199c28ad699ab2548593f759b  (64-bit)
Function Runtime Version: 3.0.15828.0

我遇到的问题是,每当我尝试与之通信时,Chrome 都会给我一个 ERR_HTTP2_INADEQUATE_TRANSPORT_SECURITY 错误。使用 IIS 或 IISExpress 时我没有收到这些错误,它们使用相同的证书并且在 Chrome 中使用 h2 很好,所以我很确定这是一个特定于函数的问题。

我尝试删除对 HTTP/2 支持的支持以强制其返回到 HTTP/1.1,但隔离函数依赖 grpc 进行通信,并且不会仅使用 1.1 运行。我知道 grpc-web 存在,但发行版不会使用它,我正在努力使 dev 和 prod 差异尽可能小。

是否有人对尝试的事情有任何想法,或者它只是不被支持?

谢谢!

【问题讨论】:

【参考方案1】:

所以我得出的结论是,在运行 func 的开发服务器中它不是受支持的设置,所以我最终设置了一个本地 nginx.exe 保留代理来充当 func 的 SSL 端点。

Kludgy,但完成了工作。

如果其他人能够解决这个问题,我仍然会感兴趣。

【讨论】:

以上是关于ERR_HTTP2_INADEQUATE_TRANSPORT_SECURITY 使用 HTTPS 在 localhost 上运行 .net5.0 隔离功能时的主要内容,如果未能解决你的问题,请参考以下文章

页面未完全加载文件并显示 net::ERR_HTTP2_PROTOCOL_ERROR

Chrome net::ERR_HTTP2_PROTOCOL_ERROR 200 重新连接后

ReactJS:net::ERR_HTTP2_PROTOCOL_ERROR 200 与 HTTPS 中的 .NetCore

Python Quart/Hypercorn 流式响应导致 net::ERR_HTTP2_PROTOCOL_ERROR 200

访问本地托管的 SPA 时,Google Chrome 中出现错误“ERR_HTTP2_INADEQUATE_TRANSPORT_SECURITY”

ERR_HTTP2_INADEQUATE_TRANSPORT_SECURITY 使用 HTTPS 在 localhost 上运行 .net5.0 隔离功能时