gpt4 book ai didi

security - 用于 asp.net 核心应用程序生产的红隼准备好了吗?

转载 作者:行者123 更新时间:2023-12-03 23:50:20 24 4
gpt4 key购买 nike

我有一个在 asp.net core 2.0 中开发的 Angular 应用程序使用的 api
它已部署在 IIS 中并配置为使用 kestrel。

我读到 Kestrel 在公开公开应用程序时并不安全等等。
真的吗?红隼还没有准备好用于生产吗?或红隼完全用于不同的目的,就像很少有博客对内部应用程序所说的那样。

最佳答案

是的,Kestrel is production ready并且在 .NET Core 支持的所有平台和版本上都受支持,但如果您的应用程序在公共(public)网络上可用 Microsoft recommend您将它与反向代理一起使用:

Even if a reverse proxy server isn't required, using a reverse proxy server might be a good choice.


您可以了解更多关于 hosting ASP.NET Core apps 的选项的信息。在 MSDN 文档中,包括 on Windows with IIS , on Linux with Nginxon Linux with Apache其中。
使用反向代理的原因有很多,包括:
  • 在同一 IP 和端口上运行多个应用程序
  • 限制暴露的表面积
  • 额外的配置和防御层
  • 简化的负载平衡和 SSL 设置(例如,这些可以在反向代理处终止)
  • 更好地支持静态文件、压缩等。

  • 根据您的要求,上述的不同方面对您来说可能或多或少很重要。
    例如,Kestrel 是一个非常轻量级的 Web 服务器,专门用于运行 ASP.NET Core 应用程序,但要做到这一点,它没有 IIS 或 Apache 之类的许多功能,您可能会发现这些功能是您想要的。例如,处理图像、CSS 或 JS 等静态文件不需要由 ASP.NET Core 引擎处理 - 使用 IIS 您可以自动压缩这些文件并添加缓存 header 以加快后续页面加载。同样,IIS 可以在请求到达处理器之前处理重定向和路由。
    从安全的角度来看,在请求到达 Kestrel 之前,您可以再次利用请求过滤(即使用的动词、路径等)、IP 过滤、身份验证等功能,而不必在您的代码。
    需要注意的是, for ASP.NET Core 1.x ,文档更加具体:

    If you expose your application to the Internet, you must use IIS, Nginx, or Apache as a reverse proxy server. A reverse proxy server receives HTTP requests from the Internet and forwards them to Kestrel after some preliminary handling.

    关于security - 用于 asp.net 核心应用程序生产的红隼准备好了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49997926/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com