2017-03-09 78 views
1

通過HTTP和Visual Studio內部工作正常。然而,當我試圖打了HTTPS我看到這個錯誤的終點,我不完全知道如何找出問題:Kestrel HTTPS BadHttpRequestException

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有關。在這之前,這一切都工作正常,但同樣可能我把其他事情搞砸了,我只是不確定是什麼! :)

回答

0

好的。我會回答我自己的問題。事實證明,我只是需要.UseHttps添加到我的WebHostBuilder在Program.cs中:

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

我猜我有點困惑如何在沒有此以前的工作,但是,嘿,現在的工作!

1

我會以答案的形式添加到Paul的提示中。

.UseHttps類位於「Microsoft.AspNetCore.Server.Kestrel.Https」模塊中,可以通過在Package Manager UI中搜索「usehttps」或將其添加到project.json文件來添加。請注意,在撰寫本文時,版本1.1.1現在可用於ASP.NET Core,因此請務必選擇您需要的版本。

不知道它會解決我的問題,但也許它會解決別人讀這個問題。