如何重写 Amazon Application Load Balancer 中的路径?

bit*_*ain 10 nginx amazon-web-services

当前设置

给定以下 ALB dns:

  • my-alb-dns.com

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

  • container-a
  • container-b

我对其进行了配置,以便我可以通过路径重写将通过 ALB 的流量路由到我的 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 服务器来实现路径重写。是否有计划通过自定义路径重写规则来扩展 ALB 功能?到目前为止,我在文档中找不到任何关于它的信息

我还查看了Lamda@Edge,但在我看来,将 CloudFront 与 Lamda 一起引入只是为了简单的重写(作为比较采用 nginx 1 行配置)似乎有点过头了。

是否有任何关于此的最佳实践,或者我应该继续希望 AWS 在遥远的将来实施它并坚持使用我当前的 nginx 解决方案?

wom*_*ble 5

ALB 不支持修改请求,而且我不知道有任何计划包含此类功能。这是一个巨大的蠕虫,所以我对 AWS 暂时不理会它并不感到惊讶。坚持使用 nginx(或同等产品,例如 haproxy),或修改您的应用程序以接受/container-X请求路径中的前缀。