0

我正在尝试在我的应用程序负载均衡器中配置基于路径的路由。我针对单个 ECS 实例配置了三个目标组,但是当我调用 ALB 上的特定路径之一时,我只得到 404。

我可以直接调用这三个容器(即http://somehost:xxxx),我可以将最后一条规则的目标交换为我的任何目标,所以我认为我的路径搞砸了,但我想不通出去。

以下是 ALB 侦听器规则: HTTP : 80

  1. 路径是 /curly* ==> 转发到 app1-tg
  2. 路径是 /larry* ==> 转发到 app2-tg
  3. 路径是 /moe* ==> 转发到 app3-tg

有没有人有什么建议?

4

1 回答 1

1

麦克风,

我知道这是一个旧帖子,但它可能对某人有所帮助。最近解决了一个类似的问题。

目标是让 1 个 AWS IIS 主机实例运行 2 个应用程序作为单独的网站容器,在 AWS 中跨 2 个可用区平衡负载,以实现容错和高可用性。

我们需要能够通过在 URL 中使用应用程序名称来定位主机上的任一应用程序,附加到负载平衡地址。我通过做两件事来完成这项工作:

容器代码所在的实际物理路径必须不同,规则路径才能起作用。即除非盒子上的路径实际上在文件夹路径中有/app1 或/app2,否则将/app1 或/app2 添加到LB 规则将不起作用。

因此,我重新编码了创建容器的 .json,以将基本 index.html 放在 /app1/index.html 中,对于 app2 也是如此。

我在“IF 路径”中使用的 url 路径的格式为“[my LB DNS]/app1”和“[my LB DNS]/app2”——无论出于何种原因,LB 都不会将它们识别为有效路径。所以我将“IF 路径”修改为“/app1/ ”和“/app2/ ”</p>

所以现在 - 粘贴负载平衡 url 并在最后添加 /app1 或 /app2 可以将浏览器定向到“Hello from App1”或“...App2”的相关容器</p>

于 2019-06-25T07:38:30.747 回答