https - git kestrel




ASP.NET Core 2.1+Kestrel(HTTPSを無効にする方法) (3)

したがって、ASP.NET Core 2.1の登場により、KestrelはHTTP側にHTTPSエンドポイントを自動的に作成し、デフォルトのプロジェクトテンプレートをセットアップしてHTTPからHTTPSにリダイレクトします(取り消すのは簡単です)。

しかし、私の質問は...どのように私は私のプロジェクトのために完全にHTTPSを無効にすることができますです。 私はドキュメントを読んで、HTTPSのさまざまな設定を試しましたが、私はそれをオフにしてHTTPプロジェクトを実行できるようには思えません。

私は狂っているか、ただ単に何かを逃していますか? 私はこれを行うのは簡単だと思います。


Startup.csで、ミドルウェアを削除します。

app.UseHttpsRedirection();

Visual Studio 2017を使用している場合

  • あなたのプロジェクトのプロパティに行く
  • SSLオプションのチェックを外す(ウェブ/デバッガのアプリケーションURLをコピーする)
  • 開始ブラウザ入力まで

私がやりたかったことを達成するための適切な方法が明らかになったのは、特にKestrelを.UseKestrel()で設定し、単純に単一のアドレスを指定することでした:

  WebHost.CreateDefaultBuilder(args)
    .UseKestrel(options => {
      options.Listen(IPAddress.Loopback, 5080); //HTTP port
    })
    .UseStartup<Startup>();

Kestelが起動したときにこの警告を表示して、デフォルトの設定を無効にします。

warn: Microsoft.AspNetCore.Server.Kestrel[0]
  Overriding address(es) 'https://localhost:5001, http://localhost:5000'. Binding to endpoints defined in UseKestrel() instead.

2番目のアドレスが指定されている場合、そのアドレスは組み込みの開発者証明書で保護されているものとみなされます。

  WebHost.CreateDefaultBuilder(args)
    .UseKestrel(options => {
      options.Listen(IPAddress.Loopback, 5080); //HTTP port
      options.Listen(IPAddress.Loopback, 5443); //HTTPS port
    })
    .UseStartup<Startup>();

もちろん、ここに記載されているようにSSLアドレスを具体的に保護することもできます:

https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel?view=aspnetcore-2.1&tabs=aspnetcore2x

これは生産セットアップに必要です。





asp.net-core-2.1