「マイクロソフト系技術情報 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