2017-03-09 73 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,因此请务必选择您需要的版本。

不知道它会解决我的问题,但也许它会解决别人读这个问题。