首页 > 解决方案 > 将 .Net Core Web API 托管到 nginx(不是代理)

问题描述

我阅读了详细解释如何将 nginx 配置为托管在 kestrel 上的 .net 核心 Web API 的反向代理的文章。

我想知道是否可以直接在 nginx 上托管 .Net Core WebAPI,这样就不需要反向代理。

标签: nginxasp.net-web-api.net-core

解决方案


请您阅读这篇文章 https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel?view=aspnetcore-2.1#when-to-use-kestrel-with-a-reverse-代理 这将清楚您不能直接在任何 Web 服务器上托管 ASP.NET Core 应用程序,无论是 IIS、NgInx 还是 Apache。您需要将这些 Web 服务器用作反向代理(从安全性和性能的角度来看,这也是一个非常好的实践),而 Kestrel 作为 .NET 核心应用程序的实际 Web 服务器。

Kestrel 是托管 .NET Core Web 应用程序所必需的,如果需要,您的 IIS、NGINX 和 Apache 需要设置为反向代理。

简而言之,不可能直接使用 Nginx 来托管 ASP.NET Web API 或 MVC 应用程序。


推荐阅读