首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >asp.net核心应用程序生产的kestrel准备好了吗?

asp.net核心应用程序生产的kestrel准备好了吗?
EN

Stack Overflow用户
提问于 2018-04-24 09:21:44
回答 1查看 13.3K关注 0票数 25

我有一个在IISCore2.0中开发的角度应用程序所使用的api,它部署在asp.net中,并配置为使用kestrel。

我读到,当公开公开应用程序时,Kestrel是不安全的。这是真的吗?红隼还没有准备好投入生产吗?或者,kestrel完全是为了不同的目的,就像很少有博客提到的内部应用程序一样。

EN

回答 1

Stack Overflow用户

发布于 2018-04-24 09:45:28

是的,红隼准备好生产了在.NET Core支持的所有平台和版本上都得到了支持,但是如果您的应用程序在公共网络微软推荐上可用,那么您可以通过反向代理来使用它:

即使不需要反向代理服务器,使用反向代理服务器也可能是一个不错的选择。

您可以在MSDN文档中找到有关托管ASP.NET核心应用程序选项的更多信息,包括在Windows上使用IIS在Linux上使用Nginx在Linux上使用Apache等。

使用反向代理有许多原因,包括:

  1. 在同一个IP和端口上运行多个应用程序
  2. 限制暴露面积
  3. 额外的配置和防御层
  4. 简化的负载平衡和SSL设置(例如,它们可以在反向代理中终止)
  5. 更好地支持静态文件,压缩等。

根据您的需求,上述不同方面对您来说可能或多或少是重要的。

例如,Kestrel是非常轻量级的web服务器,专门运行ASP.NET核心应用程序,但要做到这一点,它不具备IIS或Apache这样的许多功能,您可能会发现这是您想要的。例如,处理静态文件(如图像、CSS或JS )不需要由ASP.NET核心引擎处理--使用IIS,您可以自动压缩这些文件并添加缓存头以加快后续的页面加载。同样,IIS可以在请求到达处理器之前处理重定向和路由。

从安全性的角度来看,您也可以在请求到达Kestrel之前利用诸如请求过滤(即使用的谓词、路径等)、IP过滤、身份验证等特性,而不必在代码中处理这些方面。

值得注意的是,用于ASP.NET核心1.x文档更加具体:

如果将应用程序公开给Internet,则必须使用IIS、Nginx或Apache作为反向代理服务器。反向代理服务器接收来自Internet的HTTP请求,并在初步处理后将它们转发给Kestrel。

票数 27
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49997926

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档