你在*nix服务器上生产ASP.NET Core使用哪个Web服务器?

68

随着ASP.NET Core的发布,我想知道Linux和Mac环境下最好的托管选项是什么。是否有任何处于积极开发中的生产级Web服务器?

我所知道的唯一一个是与框架一起提供的Kestrel。从文档中可以看出,与IIS相比,Kestrel缺少多个功能。

enter image description here

这个Stackoverflow答案表明.NET Core应用程序将适用于任何HTTP服务器。这是否意味着它将适用于例如Apache?如果是这样,它会错过任何功能吗?我的理解是它只能与基于OWIN的服务器配合使用。我错过了什么吗?

1个回答

54

使用Kestrel是未来的发展方向。参考:更改为IIS托管模型

这是否意味着可以与Apache之类的服务器一起使用?

是的,实际上这是推荐的方法。但是,永远不要直接将Kestrel暴露在外部网络中。始终将其放在像nginx、IIS、HAProxy或Apache等Web服务器后面。关于Kestrel的更多信息:

以下是使用反向代理的一些示例:


10
为什么不建议将Kestrel暴露在外网上? - Felix C
19
如果您必须将Kestrel放在IIS后面,为什么要引入额外的复杂性,为什么不只使用IIS? - The Muffin Man
@Bonner是谁说的? - tugberk
1
@tugberk,抱歉我错过了这个与*nix机器有关的内容。 - Professor of programming
3
出于安全原因,边缘部署(暴露在互联网流量下)需要反向代理。Kestrel相对较新,尚未完全具备防御攻击的全部手段。这包括但不限于适当的超时、大小限制和并发连接限制。 - Jacques Snyman
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接