通过Microsoft.AspNetCore.Server.WebListener使用https

本文关键字:使用 https WebListener Server Microsoft AspNetCore 通过 | 更新日期: 2023-09-27 18:07:03

我需要配置一个Asp.net核心web应用程序与WebListener作为服务器和https协议。我找不到任何相关的文档或常见问题。

My program .cs is:

var host = new WebHostBuilder()
            .UseWebListener(options => {
             })                
            .UseContentRoot(Directory.GetCurrentDirectory())               
            .UseIISIntegration()
            .UseUrls("http://localhost:5001", "https://localhost:5002")                
            .UseStartup<Startup>()                
            .Build();
        host.Run();

如何在https中配置WebListener ?

提前感谢大家!

通过Microsoft.AspNetCore.Server.WebListener使用https

一种方法是使用netsh命令将SSL证书绑定到WebListener正在侦听的特定端口。有关如何执行此操作的详细信息,请参阅如何:使用SSL证书配置端口。将证书绑定到端口后,您可以为您的WebListener指定https url。您可以编写代码来完成netsh部分(在启动WebListener之前),但这可能超出了这个问题的范围。

在Kestrel中启用https要简单得多-您想要使用WebListener的具体原因是什么?当你使用Kestrel时,你可以做以下的事情(你也可以使用其他几个覆盖,例如使用cert from store):

new WebHostBuilder().UseKestrel(options => options.UseHttps(@"C:'MyCert.pfx"));

记得在你的项目中包含Microsoft.AspNetCore.Server.Kestrel.Https包。json文件。

我也在StackOverflow上发现了这个问题,它可能会帮助你指出正确的方向。