C# dotnet 5 CLI不';在centos 8上不提供https

C# dotnet 5 CLI不';在centos 8上不提供https,c#,.net-core,centos,C#,.net Core,Centos,我无法使用“依赖于框架”的发布站点在centos 8设备上启动https。 两者都有相同版本的dotnet运行时5.0.100 当我在windows上运行命令dotnet run project.dll时,我得到: info: Microsoft.Hosting.Lifetime[0] Now listening on: http://localhost:5000 info: Microsoft.Hosting.Lifetime[0] Now listening on:

我无法使用“依赖于框架”的发布站点在centos 8设备上启动https。 两者都有相同版本的
dotnet运行时5.0.100

当我在windows上运行命令
dotnet run project.dll
时,我得到:

info: Microsoft.Hosting.Lifetime[0]
       Now listening on: http://localhost:5000
info: Microsoft.Hosting.Lifetime[0]
      Now listening on: https://localhost:5001
info: Microsoft.Hosting.Lifetime[0]
      Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
      Hosting environment: Production
当我在Centos 8上运行相同的项目时,我只得到

info: Microsoft.Hosting.Lifetime[0]
      Now listening on: http://localhost:5000
info: Microsoft.Hosting.Lifetime[0]
      Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
      Hosting environment: Production

我遗漏了什么吗?

因此.net 3.1/5将在此处查找本地开发证书:
/home/{user name}/.dotnet/corefx/cryptography/x509stores/my

如果此证书不存在,它将不会加载https,您可以通过appsettings文件自行设置:

启用这些设置后,应用程序将在https设置上启动。例如

"Kestrel": {
"Endpoints": {
  "HTTPS": {
    "Url": "https://localhost:5001",
    "Certificate": {
      "Path": "/etc/ssl/certs/<certificate.pfx>",
      "Password": "xyz123"
    }
  }
}}
“红隼”:{
“端点”:{
“HTTPS”:{
“Url”:”https://localhost:5001",
“证书”:{
“路径”:“/etc/ssl/certs/”,
“密码”:“xyz123”
}
}
}}
这个问题的答案可以在这里找到:

Microsoft文档:

您是否有例外?我没有,或者我什么也说不出来。dotnet命令仍能成功运行。在windows中,您对端口5000使用HTTP,对端口5001使用HTTPS。因此,在Centos 8中,您似乎无法通过https(安全)。HTTPS使用TLS进行身份验证,TLS需要证书并支持TLS 1.2/1.3(1.0/1.1不再有效)。因此,我会读到以下内容:@jdweng我感谢您的评论,我会读一读,尽管当降级到.net 3.1时,我能够在centos 8Windows上获得5000和(https)5001主机,因此您必须在centos 8中使用相同的功能。如果你使用嗅探器,你应该看到TLS版本,通常是1.2版本,windows,然后让centos在相同的模式下工作。。我有可能你正在运行1.3。