我们想知道大多数用例是否确实需要反向代理,并且希望获得更多信息。
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 终止。
谢谢!艾菲
kestrel-http-server asp.net-core asp.net-docker-extensions asp.net-core-2.2
我正在使用VS2017 Docker支持。VS为我创建了DockerFile,当我构建docker-compose文件时,它会创建容器并在172.xxx IP地址上运行应用程序。但是我想在本地主机上运行我的应用程序。
我做了很多事情,但没有任何效果。跟随docker docs作为启动器并构建microsoft示例应用程序。第二个链接运行正常,但是尝试第一个链接方法时出现HTTP错误404。
任何帮助表示赞赏。
docker dockerfile docker-for-windows asp.net-docker-extensions