首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >部署到Windows后,无法在.NET核心5.0控制台中使用WebAPI

部署到Windows后,无法在.NET核心5.0控制台中使用WebAPI
EN

Stack Overflow用户
提问于 2021-07-14 10:37:08
回答 1查看 2.1K关注 0票数 0

我已经创建了一个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函数:

代码语言:javascript
复制
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/");
                });
        }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-15 12:53:01

好的,下面是从命令行运行应用程序的解决方案(它使用的是Kestrel )

您需要在您的appsettings.json中添加以下部分

代码语言:javascript
复制
"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中的端口

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68376481

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档