amazon-web-services - AWS 应用程序负载均衡器不工作
问题描述
我有一个只有一个 EC2 实例的 EC2 集群,其中运行了两个服务:
api1,监听 8080 端口
api2,监听 9090 端口
如果我对 EC2 实例和这些端口发出请求,那么这两个 API 都可以正常工作。
现在,我想创建一个负载均衡器,这样我就可以对http://{load_balancer_ip}/api1
and发出请求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 应用程序负载均衡器 (ALB) 路径的路由未按预期运行
负载均衡器没有重写 URL 并且我的 API 正在侦听/
,但负载均衡器正在重定向所有路径/api1
。
解决了!
(我无法将其标记为重复,因为上面的问题没有任何可接受的答案)
推荐阅读
- python - 在python中继承内置的`str`类
- vue.js - Vuetify SSR 分页
- javascript - 如何在 jquery 和 html 中为动态创建的列表项添加点击?
- java - 从 joda.Datetime 转换为 time.LocalDateTime 是正确的方法吗?
- reactjs - 如何从 componentDidMount() 组件中的操作文件调用 fetch 函数?
- python - 使用 BeautifulSoup 获取信息并使其可提取
- javascript - 比较从数据库中检索到的两个日期
- terraform - Terraform InvalidParameterCombination:数据库安全组只能与 VPC 数据库实例关联
- c++ - 运算符重载函数
- php - 通过查找特定字符串来编辑文件中的行?