Eff*_*eva 16 kestrel-http-server asp.net-core asp.net-docker-extensions asp.net-core-2.2
我们想知道大多数用例是否确实需要反向代理,并且希望获得更多信息。
Kerstel/Nginx 文档声称:“Kestrel 非常适合从 ASP.NET Core 提供动态内容。但是,Web 服务功能不如 IIS、Apache 或 Nginx 等服务器功能丰富。反向代理服务器可以卸载诸如提供静态内容、缓存请求、压缩请求和来自 HTTP 服务器的 HTTPS 终止等工作。反向代理服务器可以驻留在专用机器上,也可以与 HTTP 服务器一起部署。” https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/linux-nginx?view=aspnetcore-2.2
如果这在当今确实相关,有人可以分享一些见解吗?
在我们的用例中,我们使用带有外部负载平衡 (AWS ALB) 的 Docker 实例。每个 docker 实例都运行着 Nginx 和我们的 ASP.NET Core 应用程序。我们无法弄清楚使用 Nginx 的确切好处。
提供静态内容 由于我们使用的是外部 CRN (AWS CloudFront),我认为静态缓存并没有真正的好处,是吗?
缓存请求我相信这与提供静态内容相同,因为在大多数情况下(在我们的用例 - 所有情况下)都不会缓存动态内容。
压缩请求 ASP.NET Core 有一个响应压缩中间件 - 它声称“中间件的性能可能与服务器模块的性能不匹配。HTTP.sys 服务器服务器和 Kestrel 服务器目前不提供内置压缩支持。”。也许可以创建一些基准来验证这一说法。 https://docs.microsoft.com/en-us/aspnet/core/performance/response-compression?view=aspnetcore-2.2
从 HTTP 服务器终止 HTTPS 我假设大多数具有负载平衡器的客户端可以跳过这部分,因为如果需要,可以在负载平衡器上完成 HTTPS 终止。
谢谢!艾菲
本文档并没有告诉您 \xe2\x80\x9esould\xe2\x80\x9c 在反向代理后面运行 ASP.NET Core / Kestrel,只是高级方案可以从中受益,因为 Kestrel 不具备其他 Web 所具备的某些功能服务器可能有。
\n如果您不需要使用额外的 nginx 反向代理,那么您就不必使用一个。
\n例如,Kestrel 最近才采用 API 来动态更改某些连接参数,而无需重新启动 - 这对于切换通过 ACME 获取的证书很有帮助(例如 Let\xe2\x80\x98s 加密服务)。
\n是否需要反向代理在很大程度上取决于系统架构,但如果您不需要特定功能,则不必部署反向代理。
\n| 归档时间: |
|
| 查看次数: |
1983 次 |
| 最近记录: |