.NET Core 和 Kestrel - 在 Linux 上部署的 ASP.NET CORE Web api 应用程序的反向代理 Web 服务器应该是什么?

San*_*.91 5 linux webserver .net-core kestrel-http-server asp.net-core

出于以下列出的多种原因,建议使用带有反向代理的 kestrel 进行生产(在microsoft中有记录)

反向代理可以:

  1. 可以限制其托管的应用程序暴露的公共表面积。

  2. 提供额外的配置和防御层。

  3. 可能与现有基础设施更好地集成。
  4. 简化负载平衡和安全通信 (HTTPS) 配置。只有反向代理服务器需要 X.509 证书,并且该服务器可以使用纯 HTTP 与内部网络上的应用程序服务器进行通信。

IIS 不能在 Linux 上使用,根据基准测试,与 NGINX 或其他程序相比,IIS 被认为是最快的。

由于我的应用程序需要部署在 Linux 上......

1) 为了让我的应用程序获得最佳性能,最好的 Web 服务器是什么,它可以很好地处理多个并发连接并提供防御配置?..

2)Kestrel 单独就能提供最佳性能吗?如果是,那么我如何确保根据 IIS 具有但 kestrel 不喜欢的许多功能来防御应用程序:请求过滤和限制

Zia*_*han 2

我都使用过 nginx 和 haproxy。我读过有关 Nginx 的 Microsoft 文档的文章:

在这里分享链接: https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/linux-nginx ?view=aspnetcore-3.1