Кестрел HTTPS BadHttpRequestException

Через HTTP и внутри Visual Studio он работает нормально. Однако, когда я пытаюсь подключиться к конечной точке через HTTPS, я вижу эту ошибку и не совсем уверен, как выяснить проблему:

info: Microsoft.AspNetCore.Server.Kestrel[17]
  Connection id "0HL36O0ESIPBQ" bad request data: "Invalid request line: <0x16><0x03><0x01><0x00><0x83><0x01><0x00><0x00><0x7F><0x03><0x01>X<0xC1><0x07><0xDC><0x9E>~Y<0x05><0x13><0xC1><0xF4>^J<0xCF><0xAB><0x11><0xC3>R[<0x87><0x1D>..."Microsoft.AspNetCore.Server.Kestrel.BadHttpRequestException: Invalid request line: <0x16><0x03><0x01><0x00><0x83><0x01><0x00><0x00><0x7F><0x03><0x01>X<0xC1><0x07><0xDC><0x9E>~Y<0x05><0x13><0xC1><0xF4>^J<0xCF><0xAB><0x11><0xC3>R[<0x87><0x1D>

Скрипач дает мне это:

System.IO.IOException The handshake failed due to an unexpected packet format.

Моя интуиция подсказывает мне, что это связано с переходом с dotnet core 1.0.1 на 1.1.0. Все это работало нормально до этого момента, но в равной степени вероятно, что я напортачил что-то еще, и я просто не уверен, что именно! :)


person Paul Brambilla    schedule 09.03.2017    source источник


Ответы (2)


Добавлю к подсказке Павла в виде ответа.

Класс .UseHttps находится в модуле «Microsoft.AspNetCore.Server.Kestrel.Https», который можно добавить, выполнив поиск «usehttps» в пользовательском интерфейсе диспетчера пакетов или добавив его в файл project.json. Обратите внимание, что на момент написания этой статьи для ASP.NET Core теперь доступна версия 1.1.1, поэтому обязательно выберите нужную версию.

Не уверен, что это решит мою проблему, но, возможно, это решит проблему кого-то еще, кто это читает.

person LTDev    schedule 22.03.2017

Ok. Я отвечу на свой вопрос. Оказывается, мне просто нужно было добавить .UseHttps к моему WebHostBuilder в program.cs:

.UseKestrel(options =>
{
    options.AddServerHeader = false;
    options.UseHttps("MyPfx", "MyPassword");
})

Я думаю, я немного смущен, как это работало раньше без этого, но эй, теперь это работает!

person Paul Brambilla    schedule 09.03.2017