我尝试将https配置到我的Kestrel服务器,以使用 dnxcore50 处理 Ubuntu 14 。
但是当我添加依赖项时:
" Microsoft.AspNet.Server.Kestrel.Https":" 1.0.0-rc1-final"
我尝试恢复我的包裹,我收到了这条消息:
Dependency Kestrel.Https 1.0.0-rc1-final不支持框架DNXCore,Version = v5.0
如果我转到Windows并使用dnx451并添加相同的依赖项,那么效果会非常好。
但是,如果我不能在 Ubuntu dnxcore50 上使用 Kestrel.Https ,我如何在上配置Https > Ubuntu 使用 dnxcore50 ?
答案 0 :(得分:1)
这是因为Kestrel的HTTPS版本仅针对RC1上的完整.NET框架:https://www.nuget.org/packages/Microsoft.AspNet.Server.Kestrel.Https/1.0.0-rc1-final。
从RC2开始,Kestrel.Https将定位netstandard1.3
:https://github.com/aspnet/KestrelHttpServer/blob/dev/src/Microsoft.AspNetCore.Server.Kestrel.Https/project.json#L20。
所以解决方案是要么等待RC2掉线,要么使用MyGet中出血的RC2位。
答案 1 :(得分:-1)
今天,Kestrel已经支持HTTPS了:
这是自版本1.0.0以来支持它的库:
要在您的代码上实现它,在您主要初始化您的asp.net核心应用程序时添加UseHttps
作为选项
以下是如何操作的示例!
public static void Main(string[] args)
{
var host = new WebHostBuilder()
.UseKestrel(options =>
{
// options.ThreadCount = 4;
options.NoDelay = true;
options.UseHttps("testCert.pfx", "testPassword");
options.UseConnectionLogging();
})
.UseUrls("http://localhost:5000", "https://localhost:5001")
.UseContentRoot(Directory.GetCurrentDirectory())
.UseStartup<Startup>()
.Build();
// The following section should be used to demo sockets
//var addresses = application.GetAddresses();
//addresses.Clear();
//addresses.Add("http://unix:/tmp/kestrel-test.sock");
host.Run();
}
下面还有一个来自样本的链接
https://www.nuget.org/packages/Microsoft.AspNetCore.Server.Kestrel.Https/