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

機能

  • Windows 認証
  • ポート共有
  • SNI を使用する HTTPS
  • 直接ファイル伝送
  • 応答キャッシュ
  • WebSocket (Windows 8 以降)
  • HTTP/2 over TLS (Windows 10 以降)

用例

  • IIS を使用せず、インターネットに直接サーバを公開するシナリオ
  • Kestrel ではサポートされていないシナリオ
    • インターネットに公開する場合。
    • その他、HTTP.sys の機能を使用したい場合。

構成

  • 設定は、以下によって行う。
  • 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 を使用

IIS

  • ASP.NET Core モジュール (ANCM)を使用してKestrelと連携する。
  • ANCM とは、ネイティブの IISモジュールで、
    • IISパイプラインにフックして、
    • トラフィックをバックエンドにリダイレクトする。
    • Kestrel は ANCM からのトラフィックをリッスンする。

nginx

コチラを参照。

Apache

・・・

参考

Microsoft Docs

.NET 開発基盤部会 Wiki


Tags: :.NET開発, :.NET Core, :ASP.NET, :ASP.NET MVC


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-05-07 (月) 09:47:57 (16d)