我在本地主机上运行了一个.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通信时,Chrome都会给我一个ERR_HTTP2_ADEQUATE_TRANSPORT_SECURITY错误。我在使用IIS或IISExpress时不会收到这些错误,它们使用相同的证书,并且在Chrome中使用h2也很好,所以我很确定这是一个特定于功能的问题。
我已经尝试删除对HTTP/2支持的支持,以迫使它回到HTTP/1.1,但这个孤立的函数依赖于grpc进行通信,并且不会仅使用1.1运行。我知道grpcweb存在,但发行版不会使用它,我正在努力保持开发和生产差异尽可能小。
有人对尝试的事情有什么想法吗?还是因为某种原因没有得到支持?
谢谢!
所以我得出的结论是,在运行func的开发服务器中,这不是一个受支持的设置,所以我最终设置了一个本地nginx.exe保留代理,作为func的SSL端点。
Kludgy,但完成了任务。
如果其他人能够解决这个问题,我仍然会感兴趣。