Asp.net-Core

是否可以直接在 Azure WebApps 中的 Kestrel 上執行 ASP.NET 5 站點?

  • December 16, 2015

當我將 ASP.NET5 部署到 azure web 應用程序時,我已經在 web 響應中檢查了伺服器是 IIS,所以我猜 IIS 平台處理程序用於將其重定向到 Kestrel。所以我想知道是否可以直接在 Kestrel 上執行,以及它有什麼好處/缺點(可能不管它是否在 Azure 中)。我想它會快一點,因為 IIS 將從管道中排除,但我想它不應該有太多的成本……

在 Azure Web App 上,您無法繞過 IIS。

但在一般情況下,你絕對可以直接執行 Kestrel。畢竟dnx web,這正是 XPlat 版本(Linux、OSX)最終將使用的(幾乎)。

不使用 IIS 的損失

  • 安全性(與 IIS 相比更新的組件)
  • 輕鬆設置 SSL
  • 處理文件/記憶體和其他東西的核心模組(核心=更快)
  • 應用程序監控/Keep-Alive(如果 Kestrel 崩潰會發生什麼)
  • 多個主機名單埠(80)重用
  • 等等

不使用 IIS 的好處

  • 完全控制您的流程
  • 更高的整體性能
  • 更簡單的安裝/執行

如果您選擇不使用 IIS,您應該怎麼做

如果您對“輸”點感到滿意,我仍然會去將您的 Kestrel 託管在反向代理或 NGINX 伺服器後面。Kestrel 是為“生產就緒”而設計的,但它不是 NGINX 或 IIS。

據我所知,它不會讓自己保持活力。

如果我錯過了什麼,請告訴我。

引用自:https://stackoverflow.com/questions/34312569