1

我正在尝试将 https 配置到我的 Kestrel 服务器以在Ubuntu 14上使用dnxcore50工作。

但是当我添加一个依赖项时:

“Microsoft.AspNet.Server.Kestrel.Https”:“1.0.0-rc1-final”

我尝试恢复我的包裹,我收到以下消息:

依赖 Kestrel.Https 1.0.0-rc1-final 不支持框架DNXCore,Version=v5.0

如果我去 windows 并使用 dnx451 并添加相同的依赖项,那么效果很好。

但是,如果我不能在带有dnxcore50的Ubuntu上使用Kestrel.Https,如何使用dnxcore50Ubuntu上配置 Https ?

4

2 回答 2

1

这是因为 Kestrel 的 HTTPS 版本仅针对 RC1 上的完整 .NET 框架:https ://www.nuget.org/packages/Microsoft.AspNet.Server.Kestrel.Https/1.0.0-rc1-final 。

从 RC2 开始,Kestrel.Https 将针对netstandard1.3https ://github.com/aspnet/KestrelHttpServer/blob/dev/src/Microsoft.AspNetCore.Server.Kestrel.Https/project.json#L20 。

所以解决方案是要么等待 RC2 下降,要么使用来自 MyGet 的出血 RC2 位。

于 2016-04-07T14:19:48.810 回答
-1

今天 Kestrel 已经支持 HTTPS:

这是自 1.0.0 版以来支持它的库:

https://www.nuget.org/packages/Microsoft.AspNetCore.Server.Kestrel.Https/

要在您的代码上实现它,在您主要初始化您的 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://github.com/aspnet/KestrelHttpServer/blob/dev/samples/SampleApp/Startup.cs#L37-L43

于 2016-12-14T18:12:12.440 回答