Asp.net核心HttpsRedirectionMiddleware无法确定要重定向的https端口

New*_*ode 6 windows-services asp.net-core-mvc asp.net-core asp.net-core-2.2

我正在尝试在Windows服务中托管ASP.net核心Web应用程序。我能够创建一个自包含的部署并创建Windows服务。我的Web应用程序配置为http的端口为5000,https的端口为5001。在应用程序中,我使用HttpsRedirectMiddleware。

当我启动Windows服务时,只能通过http浏览网页,并从Https重定向中间件引发以下错误。

Microsoft.AspNetCore.HttpsPolicy.HttpsRedirectionMiddleware无法确定用于重定向的https端口。

是否需要任何其他配置来公开用于https通讯的端口?

Github代码示例

Cod*_*ter 14

有关配置非默认 HTTPS 端口的各种方法,请参阅文档

哪种方法最适合您的方案取决于您的应用程序的设置和托管方式。例如,您可以添加一个设置:

public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
    WebHost.CreateDefaultBuilder(args)
        .UseSetting("https_port", "5001")
        .UseStartup<Startup>();
Run Code Online (Sandbox Code Playgroud)


Wei*_*Guo 9

我在调试模式下有这个警告。您只需要“启用 SSL”,警告就会消失。

在此处输入图片说明

或者,如果您使用 IIS,您可以编辑高级设置以启用 https。 在此处输入图片说明


小智 9

我有完全相同的错误。就我而言,launchSettings.json 文件中有两个配置文件。我只是删除了其中一个具有 http 和 https URL 的配置文件。

"profiles": {
  "https": {
    "commandName": "Project",
    "dotnetRunMessages": true,
    "launchBrowser": true,
    "launchUrl": "swagger",
    "applicationUrl": "https://localhost:7009;http://localhost:5195",
    "environmentVariables": {
      "ASPNETCORE_ENVIRONMENT": "Development"
    }
  },
}
Run Code Online (Sandbox Code Playgroud)