如何重写Amazon Application Load Balancer中的path?

当前设置

鉴于以下ALB dns:

  • my-alb-dns.com

以及在ECS中运行的以下容器:

  • container-a
  • container-b

我将其configuration为可以通过path重写将来自ALB的stream量路由到ECS群集中的相应服务:

  • my-alb-dns.com:80/container-a/my/endpoint -> container-a:8080/my/endpoint
  • my-alb-dns.com:80/container-b/my/endpoint -> container-b:8080/my/endpoint

这工作正常(通过使用nginx),但我问自己,如果使用额外的nginx服务器真的需要实现path重写。 有没有计划通过自定义path重写规则来扩展ALBfunction? 到目前为止我在文档中找不到任何关于它的信息 。

我也看了一下Lamda @ Edge,但在我看来有点矫枉过正,为了简单的重写(比较需要nginx 1行configuration),将LamFront与Lamda一起引入。

有没有关于这方面的最佳实践,还是我应该继续希望AWS能够在遥远的将来实现它,并坚持使用我现在的nginx解决scheme?

ALB不支持修改请求,我不知道有任何计划包含这样的function。 这是一个巨大的蠕虫,所以我并不感到惊讶,AWS现在只剩下它。 坚持使用nginx(或等价的,如haproxy),或修改您的应用程序接受请求path中的/container-X前缀。