两个单独但相似的服务器的原因是什么?
有什么区别?
我可以同时在docker中运行吗?
像所有身份验证类型一样,两者都支持相同的东西吗?

最佳答案

Kestrel与Weblistener -我强调了以下基本差异。
(这些词是Microsoft的,为了简洁和清楚起见,我仅对其进行了编辑。请参见底部链接的资源)。

WebListener Windows专用用于ASP.NET Core的HTTP / Web服务器,它使您可以将服务器直接暴露给Internet ,而无需使用IIS。 WebListener建立在Http.Sys(也为IIS的HTTP Listener提供支持的成熟技术)的基础上,具有丰富的功能,并且提供了针对各种攻击的保护。
另一方面, Kestrel 是用于ASP.NET Core的跨平台 Web服务器,其设计为在代理(例如IIS或Nginx)之后运行,并且不应直接面向Internet部署。红est相对较新,并且不能完全防御攻击。它的也不如WebListener那样具有丰富的功能,并具有超时限制,大小限制和并发用户限制。

本质上,选择取决于Web应用程序的“部署”方案。
Weblistener用例:
asp.net - WebListener vs Kestrel:为什么要选择一个?优点缺点?-LMLPHP
红est用例:
asp.net - WebListener vs Kestrel:为什么要选择一个?优点缺点?-LMLPHP
更新:
出于安全原因,Kestrel以前始终要求将反向代理与边缘部署(暴露于Internet的流量)一起使用。在ASP.Net Core 2.x中使用Kestrel不再是这种情况。请查看文档以获取更多信息。 Kestrel Web Server Documentation
asp.net - WebListener vs Kestrel:为什么要选择一个?优点缺点?-LMLPHP
资料来源:

  • Docs.Microsoft.com Web server implementations in ASP.NET Core
  • Docs.Microsoft.com WebListener web server implementation in ASP.NET Core
  • 07-24 17:21