Kestrel是否足以支持在ALB后面的AWS ECS上运行的asp.net核心网站?

时间:2017-03-03 03:43:27

标签: asp.net amazon-web-services asp.net-core amazon-ecs kestrel-http-server

我已准备好将ASP.NET Core MVC网站部署到生产环境。该应用程序将部署到AWS ECS(EC2容器服务)。不推荐红隼为来自互联网的流量提供服务,建议将反向代理放在前面。我的问题是,AWS ALB足够好吗?它执行SSL终止,负载平衡,并支持HTTP / 2和WebSocket。

我相信我放弃压缩(据我所知,ALB或Kestrel都不支持它)。这个设置缺少什么?我应该看一个额外的反向代理(haproxy / nginx)吗?额外的复杂性足以让我不想走这条路线,如果我不必要的话。

1 个答案:

答案 0 :(得分:1)

如果你不需要压缩(它有很小的搜索引擎优化优势),你就可以去了。

关于您的茶隼应用程序有一些注意事项,当您将它放在一个被引用的代理时,我确定您知道这一点:

  • 请求网址的概念已经消失:由于代理转发请求,请求网址始终是代理本身。
  • 此外,协议将始终为http,而不是https。
  • 负载均衡器每次都在应用程序之间切换,因此现在可能会落后于具有static属性的工作正常(但没有工作但你没有意识到)。

我可以想象的ALB的缺点可能是你无法控制负载平衡的发生方式。如果这对你来说不是问题,那么我认为任何反向代理都应该对你没问题。 (如果愿意,你甚至可以在nodejs中创建一个简单的反向代理。)