我已经创建了一个WebAPI .Net 5应用程序,它可以监听HTTPS端口8286。当我在Visual中运行它时,一切都很好。
一旦我做了“发布”并尝试在我们的Windows 2012上运行它,就会得到一个“无法启动Kestrel. System.InvalidOperationException:无法配置HTTPS端点。没有指定服务器证书,并且无法找到默认的开发人员证书或过期了。要生成开发人员证书,运行'dotnet dev-certs https‘。要信任证书(仅macOS和macOS),运行'dotnet dev-certs https --信任’……”

服务器上安装了SSL证书。它与IIS和.NET 4.8 WebAPI自托管的OWIN应用程序一起工作。
使用netsh http show sslcert,我可以看到证书是绑定的

下面是我的CreateHostBuilder函数:
public static IHostBuilder CreateHostBuilder(string[] args)
{
Console.WriteLine("USE URLS: https://*:8286/");
return Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
webBuilder.UseUrls("https://*:8286/");
});
}发布于 2021-07-15 12:53:01
好的,下面是从命令行运行应用程序的解决方案(它使用的是Kestrel )
您需要在您的appsettings.json中添加以下部分
"Kestrel": {
"Endpoints": {
"Http": {
"Url": "http://*:1111"
}
,
"Https": {
"Url": "https://*:2222",
"Certificate": {
"Path": "my_ssl.pfx",
"Password": "my_password"
}
}
}}显然,要使此工作,您将需要pfx文件。即使部署到Linux,这也是可行的。
顺便说一句,如果将此添加到appsettings.json中,则在Visual中运行时,它将覆盖launchSettings.json中的端口
https://stackoverflow.com/questions/68376481
复制相似问题