我已将EC2实例与应用程序负载均衡器连接。我的EC2实例在PORT 80上运行react js应用程序,其中NODE js API在PORT 3000上运行。我想用域名而不是IP地址运行API
以下是我的注册目标-
ALB注册目标
更新-以下是我的应用程序和实例详细信息-
- EC2-Ubuntu 18.04+Apache网络服务器
- 前端-端口80工作良好(https://wwwdot-mydomain.com(
- API-用NODE JS编写,运行在PORT 3000上(所以基本上我正在尝试运行https://wwwdot-mydomain网址:3000(
API使用IPv4运行良好http://x.x.x.50:3000
有人能帮我找出这个错误吗?非常感谢。
从您的问题中,我了解到您的nodejs应用程序运行在x.x.x.50:3000
上。因此,您可以通过点击http://x.x.x.50:3000
来访问您的应用程序
但是,
我假设当你点击时,你的请求会得到回应
example : http://x.x.x.50:3000/data/ or http://x.x.x.50:3000/employee/1
实际问题是,当ELB命中http://x.x.x.50:3000它将返回404状态,因为您没有为/服务的端点(基于我对后端应用程序的假设(
如果您已经有了/endpoint,请检查它返回的状态代码是什么,以及它是否与ELB目标组中指定的代码匹配
如果你在AWS中检查你的目标组,你可以看到你的预期状态代码是200(默认情况下(,如果ELB得到200以外的任何其他状态代码,它将认为该实例是不健康的。
请注意,您可以将此状态代码更改为健康检查终结点返回的任何代码。同样适用于健康检查URL。