上一篇:银河麒麟服务器V10 SP1 .Net6.0 开机自动启动_csdn_aspnet的博客-CSDN博客
参考微软官网:ASP.NET Core 中的 Kestrel Web 服务器 | Microsoft Learn
为 ASP.NET Core Kestrel Web 服务器配置终结点 | Microsoft Learn
注意:使用此篇文章配置,请将之前文中的appsettings.json中配置"urls": "http://*:8061" 注释。
json内容,选择适合自己的即可:
{
   "Kestrel": {
     "Endpoints": {
       "Http": {
         "Url": "http://localhost:5000"
       },
       "HttpsInlineCertFile": {
         "Url": "https://localhost:5001",
         "Certificate": {
           "Path": "<path to .pfx file>",
           "Password": "<certificate password>"
         }
       },
       "HttpsInlineCertStore": {
         "Url": "https://localhost:5002",
         "Certificate": {
           "Subject": "<subject; required>",
           "Store": "<certificate store; required>",
           "Location": "<location; defaults to CurrentUser>",
           "AllowInvalid": "<true or false; defaults to false>"
         }
       },
       "HttpsDefaultCert": {
         "Url": "https://localhost:5003"
       },
       "Https": {
         "Url": "https://*:5004",
         "Certificate": {
           "Path": "<path to .pfx file>",
           "Password": "<certificate password>"
         }
       }
     },
     "Certificates": {
       "Default": {
         "Path": "<path to .pfx file>",
         "Password": "<certificate password>"
       }
     }
   }
 }
本文使用的是pfx节点配置。
在appsettings.json中新增配置:
{
   "Kestrel": {
     "Endpoints": {
       "Http": {
         "Url": "http://xxx:8061"
       },
       "HttpsInlineCertFile": {
         "Url": "https://xxx:8062",
         "Certificate": {
           "Path": "/usr/local/xxx.pfx",
           "Password": "xxx@2023"
         }
       }
     }
   }
 }
本文在windows配置示例如下:

上面示例部署到银河麒麟V10 SP1时,更换银河麒麟V10服务器pfx证书的具体路径。
在Program.cs中读取Kestrel配置节点:

代码如下:
//部署银河麒麟V10 SP1 读取appsettings.json中Kestrel配置
             app.Configuration.Get<WebHostBuilder>().ConfigureKestrel(options =>
             {
                 // 长度最好不要设置 null
                 options.Limits.MaxRequestBodySize = 1024 * 1024 * 600;
                 //获取或设置最大打开的连接数
                 options.Limits.MaxConcurrentConnections = 1024;
                 //获取或设置最大打开、升级的连接数
                 //升级的连接是已从 HTTP 切换到另一个协议(如 WebSocket)的连接。
                 //连接升级后,不会计入 MaxConcurrentConnections 限制
                 options.Limits.MaxConcurrentUpgradedConnections = 500;
            })
             //银河麒麟V10 SP1 解决无法访问静态文件问题
             .UseContentRoot(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "wwwroot"));
重新发布net6项目,并重新启动dotnet6服务即可正常访问:
https访问:

http访问:




















