2017-03-09 3 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

私は自分の質問に答えます。

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

が、私はこれはこれがない以前に働いていた方法を少し混乱していると思いますが、ちょっと、それが動作するようになりました:それは、私はちょうどProgram.csの中で私のWebHostBuilderに.UseHttpsを追加する必要が判明します!

1

私はポールのヒントに答えの形で追加します。

.UseHttpsクラスは、Microsoft.AspNetCore.Server.Kestrel.Httpsモジュールにあります。これは、Package Manager UIで「usehttps」を検索するか、project.jsonファイルに追加することで追加できます。この執筆時点では、ASP.NET Coreではバージョン1.1.1が使用できるようになっているので、必要なバージョンを選択してください。

私の問題を解決するかどうかはわかりませんが、おそらくこれを読んでいる他の人の問題は解決します。

関連する問題