路径路由的AWS Load Balancer 404错误

时间:2018-12-26 20:36:15

标签: routing containers load-balancing aws-load-balancer

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

我可以直接调用这三个容器(即http://somehost:xxxx),并且可以将最后一个规则的目标交换给我的任何目标,因此我认为自己在路径上有些混乱,但是我不知道出来。

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

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

有人有什么建议吗?

1 个答案:

答案 0 :(得分:0)

迈克

我知道这是一篇过时的文章,但可能会对某人有所帮助。最近解决了类似的问题。

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

我们需要能够通过使用URL中的应用名称(定位到负载平衡地址)来在主机上定位任意一个应用。我通过做2件事来完成这项工作:

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

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

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

现在,—粘贴负载平衡URL,并在最后添加/ app1或/ app2,然后将浏览器定向到“ Hello from App1”或“…App2”的相关容器中