我有一个只有一个EC2实例的EC2集群,其中正在运行两个服务:
api1,在端口8080监听
api2,在端口9090监听
如果我针对EC2实例和那些端口发出请求,则两个API都可以正常工作。
现在,我想创建一个负载平衡器,以便可以针对http://{load_balancer_ip}/api1
和http://{load_balancer_ip}/api2
发出请求,但我不能。
我创建了两个目标组,每个目标组只有一个实例(我只有一个)
TargetGroup1
:端口8080和在端口8080上注册的EC2实例TargetGroup2
:端口9090和在端口9090上注册的EC2实例然后,我在端口80上创建了一个带有一个监听器的负载均衡器,并遵循以下两个路径规则:
/api1
时,转发到TargetGroup1
/api2
时,转发到TargetGroup2
当我针对http://{load_balancer_ip}/api1
或http://{load_balancer_ip}/api2
发出请求时,什么都没有发生;我没有任何回应。
我想念什么?
答案 0 :(得分:0)
好吧,由于这个问题的第一条评论,我发现了正在发生的事情:
AWS Application Load Balancer (ALB) path based routing not functioning as expected
负载均衡器未重写URL,并且我的API正在监听/
,但是负载均衡器正在重定向所有路径/api1
。
解决了!
(我无法将其标记为重复的,因为上面的问题没有任何可接受的答案)