8

ASP.NET5 を Azure Web アプリにデプロイするときに、Web 応答でサーバーが IIS であることを確認したので、IIS プラットフォーム ハンドラーを使用して Kestrel にリダイレクトしていると思います。そのため、Kestrel で直接実行できるかどうか、およびそれにはどのような利点/欠点があるのか​​ (おそらく、Azure にあるかどうかに関係なく) 疑問に思っています。IIS がパイプラインから除外されるため、少し高速になると思いますが、オーバーヘッドはそれほど大きくないはずです...

4

2 に答える 2

11

Azure Web App では、IIS をバイパスできません。

しかし、一般的には、Kestrel を直接実行できます。結局のところdnx web、それはまさに XPlat バージョン (Linux、OSX) が最終的に (ほとんど) 使用するものです。

IIS を使用しないことで失うもの

  • セキュリティ (IIS に比べて新しいコンポーネント)
  • SSLの簡単設定
  • ファイル/キャッシュなどを処理するカーネル モジュール (カーネル = 高速)
  • アプリケーションの監視/キープアライブ (Kestrel がクラッシュした場合)
  • 複数のホスト名の単一ポート (80) の再利用

IIS を使用しないことで得られるもの

  • プロセスを完全に制御
  • 全体的なパフォーマンスの向上
  • より簡単なインストール/実行

IIS を使用しないことを選択した場合の対処方法

「失う」ポイントに問題がなければ、リバース プロキシまたは NGINX サーバーの背後で Kestrel をホストします。Kestrel は「本番環境に対応」するように作成されましたが、NGINX や IIS ではありません。

私の知る限り、それは生き続けることはありません。

何か見逃した場合は、お知らせください。

于 2015-12-16T14:11:22.787 に答える
6

あなたの質問は、Azure Web Apps と一般的なケースについて同時に尋ねているため、少しあいまいです。@Maxime は一般的な部分に答えたので、Azure Web App の部分に答えます。

Azure Web Apps で IIS をバイパスすることはできません。IIS なしで通常実行されるスタックは、通常HttpPlatformHandler(ASP.NET 5 の場合のように) を使用して処理されるか、Node の場合はその変種 (iisnode) を使用して処理されます。

于 2015-12-16T17:12:10.843 に答える