我需要在容器内运行的Web应用程序上支持http / 2,并且我很难配置Kestrel以使用我的自签名证书来运行http / 2。
我想问的是,在Nginx后面运行Kestrel和处理Nginx上的所有http / 2通信并在Kestrel级别支持http / 2有什么区别吗?
总结一下,有两个选项: 1.在Nginx后面和http上运行Asp.Net Core应用。 Http / 2由Nginx处理。 2.运行具有http / 2支持的Asp.Net Core。
我应该选择哪种方式?
答案 0 :(得分:1)
对于任何生产环境,最好使用专用的反向代理(例如Nginx),而不是直接公开应用程序。为此,它们更加专业,通常可以提供更好的安全性和性能。出于这些原因,ASP.NET Core文档还建议使用单独的反向代理https://docs.microsoft.com/en-US/aspnet/core/fundamentals/servers/kestrel?view=aspnetcore-3.1