C#Kestrel https在Windows上运行但在Mac上不运行

问题描述

我有以下代码

BEFORE INSERT

在Windows上效果很好-我可以使用https://127.0.0.1:1111来访问它,并且效果很好。当我在Mac上尝试运行时-它可以运行,但是当我尝试连接到它时,它立即变为“连接已关闭

搜索了一下,发现在usekestrel中,您应该可以添加

var host = new WebHostBuilder()
   .UseKestrel()
   .UseUrls("https://*:" + port)
   .Configure(Configure)
   .Build();
记录在here上的

但是,即使我引用的是Microsoft.AspNetCore.Server.Kestrel.Https,我也只能找到.UseSystemd作为选项-没有.useHttps。

我在做什么错?为什么在Mac和Windows上,它的行为会有所不同?如何解决它,使其在Mac上也能工作?

解决方法

因此对于遇到此问题的任何人-我发现我猜得到一个答案: 您需要在终端中运行:

dotnet dev-certs https

然后要求您运行一个非常奇怪的命令:

sudo security set-key-partition-list -D localhost ...

神奇地修复问题。