「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次  †
概要  †
ASP.NET CoreのWebサーバ・インフラストラクチャについて説明する。
インプロセス HTTP サーバ  †
ASP.NET Coreアプリは、下記のインプロセス HTTP サーバ実装を使用して実行される。
Kestrel  †
概要  †
機能  †
- HTTPS
 
- Websocket
 
- UNIXドメインソケット
 
用例  †
- 内部ネットワークにのみ公開される場合、単独で使用。
 
- 外部公開する場合、IIS、nginx、Apache などのリバース プロキシと併用。
(外部公開する場合、Webサーバのセキュリティ機能が必要になる) 
構成  †
- 単独
Startup.Configureメソッド内で、
- クライアントの最大接続数、要求本文の最大サイズ、要求本文の最小レートなどを設定
 
- app.UseKestrel?メソッドや、app.Runメソッドにより設定
 
 
HTTP.sys  †
概要  †
機能  †
- Windows 認証
 
- ポート共有
 
- SNI を使用する HTTPS
 
- 直接ファイル伝送
 
- 応答キャッシュ
 
- WebSocket (Windows 8 以降)
 
- HTTP/2 over TLS (Windows 10 以降)
 
用例  †
- IIS を使用せず、インターネットに直接サーバを公開するシナリオ
 
構成  †
- Windows Serverの構成
- ファイアウォールのポートを開ける。
 
- HTTP.sys の構成(レジストリ設定)
 
- HTTP.sysにx.509 証明書を設定する。
 
- .NET Framework、.NET Coreなどのランタイムをインストール
 
 
- ASP.NET Coreアプリの構成
Startup.Configureメソッド内で、
- ・・・などを、
 
- app.UseHttpSys?メソッドや、app.Useメソッドにより設定
 
 
カスタム サーバ  †
OWIN(Nowin ベースの IServer 実装)に基づいたカスタム サーバを開発可能。
一般的なHTTP サーバ  †
- IIS と Kestrel
バース プロキシとして IIS または IIS Express を使用 
- nginx と Kestre
リバース プロキシとして nginx を使用 
- Apache と Kestrel
リバース プロキシとして Apache を使用 
- ANCM とは、ネイティブの IISモジュールで、
- IISパイプラインにフックして、
 
- トラフィックをバックエンドにリダイレクトする。
 
- Kestrel は ANCM からのトラフィックをリッスンする。
 
 
nginx  †
コチラを参照。
Apache  †
・・・
参考  †
Microsoft Docs  †
.NET 開発基盤部会 Wiki  †
Tags: :.NET開発, :.NET Core, :ASP.NET, :ASP.NET MVC