我需要使用WebListener配置Asp.net核心Web应用程序作为服务器和https procotols。我无法找到任何关于此的文档或常见问题。
我的Progam.cs是:
var host = new WebHostBuilder()
.UseWebListener(options => {
})
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseUrls("http://localhost:5001", "https://localhost:5002")
.UseStartup<Startup>()
.Build();
host.Run();
如何在https?
中配置WebListener提前全部谢谢!
答案 0 :(得分:2)
一种方法是使用netsh
命令将SSL证书绑定到WebListener正在侦听的特定端口。有关如何执行此操作的详细信息,请参阅How to: Configure a Port with an SSL Certificate。将证书绑定到端口后,您可以为WebListener指定https URL。您可以编写代码来为您执行netsh
部分(在启动WebListener之前),但这可能超出了此问题的范围。
在Kestrel中启用https要简单得多 - 您想要使用WebListener的具体原因是什么?使用Kestrel时,您可以执行以下操作(还可以使用其他几个覆盖,例如使用商店中的cert):
new WebHostBuilder().UseKestrel(options => options.UseHttps(@"C:\MyCert.pfx"));
请记住在project.json文件中包含Microsoft.AspNetCore.Server.Kestrel.Https
包。
我还在StackOverflow上发现了this问题,可能有助于指出正确的方向。