2016-04-07 6 views
1

Я пытаюсь настроить HTTPS к серверу Kestrel работать на Ubuntu с dnxcore50.зависимость Kestrel.Https 1.0.0-rc1-финал не поддерживает рамки DNXCore, Version = v5.0

Но когда я добавить зависимость к:

"Microsoft.AspNet.Server.Kestrel.Https": "1.0.0-RC1-финал"

И я пытаюсь восстановить мой пакет, я получаю сообщение:

Dependency Kestrel.Https 1.0.0-rc1-финал не поддерживает рамочную DNXCore, Version = v5.0

Если я перехожу к окнам и использую dnx451 и добавляю ту же зависимость, все работает отлично.

Но, если я не могу использовать Kestrel.Https на Ubuntu с dnxcore50, как я могу настроить Https на Ubuntu используя dnxcore50?

ответ

1

Это потому, что версия Kestrel HTTPS нацелена только на полную платформу .NET на RC1: 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, чтобы отказаться или использовать биты RC2 с кровотечением из MyGet.

-1

Сегодня Kestrel уже поддерживает HTTPS:

Вот библиотека тха поддерживает его, начиная с версии 1.0.0:

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

Чтобы реализовать его на своем коде, в вас основной для инициализации жереха. net core app add 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

+0

Ссылка на потенциальное решение всегда приветствуется, но, пожалуйста, [добавить контекст вокруг ссылки] (HTTP: // мета. stackexchange.com/questions/8231/are-answers-that-just-contain-links-elsewhere-really-good-answers/8259#8259), поэтому ваши друзья-пользователи будут иметь представление о том, что это такое и почему оно есть. Всегда указывайте наиболее значимую часть важной ссылки, если целевой сайт недоступен или постоянно находится в автономном режиме. Учтите, что это всего лишь ссылка на внешний сайт - это возможная причина [Почему и как удаляются некоторые ответы?] (Http://stackoverflow.com/help/deleted-answers). – FelixSFD

+0

Ну грустно @FelixSFD –

+1

Я просто добавил код, чтобы улучшить ответ, теперь лучше понять? –