我正在尝试在我的应用程序负载均衡器中配置基于路径的路由。我针对单个ECS实例配置了三个目标组,但是,当我在ALB上调用特定路径之一时,我只会得到404。
我可以直接调用这三个容器(即http://somehost:xxxx),并且可以将最后一个规则的目标交换给我的任何目标,因此我认为自己在路径上有些混乱,但是我不知道出来。
以下是ALB侦听器规则: HTTP:80
有人有什么建议吗?
答案 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”的相关容器中