AWS 应用程序负载均衡器不工作
AWS Application Load Balancer not working
我有一个只有一个 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
提出请求时,没有任何反应;我没有收到任何回复。
我错过了什么?
好的,由于这个问题的第一条评论,我发现发生了什么:
AWS Application Load Balancer (ALB) path based routing not functioning as expected
负载均衡器未重写 URL 并且我的 API 正在侦听 /
,但负载均衡器正在重定向所有路径 /api1
.
已解决!
(我无法将其标记为重复,因为上面的问题没有任何可接受的答案)
我有一个只有一个 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
提出请求时,没有任何反应;我没有收到任何回复。
我错过了什么?
好的,由于这个问题的第一条评论,我发现发生了什么:
AWS Application Load Balancer (ALB) path based routing not functioning as expected
负载均衡器未重写 URL 并且我的 API 正在侦听 /
,但负载均衡器正在重定向所有路径 /api1
.
已解决!
(我无法将其标记为重复,因为上面的问题没有任何可接受的答案)