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