我使用经典的负载均衡器和Cloudfront在https上将我的React网站托管在AWS上,但是现在我还需要打开端口1234。当前使用端口1234浏览域时,无法显示该页面。我要打开端口1234的原因是因为这是我的nodeJs Web服务器在运行的地方,以便React与之通信。
我尝试将端口1234添加到我的负载均衡器侦听器设置中,尽管没什么区别。值得注意的是,负载均衡器运行状况检查面板似乎只有一个值为HTTP:80/index.html
。我假设负载均衡器可以监听端口80和1234(即使它只能对一个端口号执行运行状况检查)?
我需要使用操作组或其他方式打开端口吗?请帮忙,任何建议,不胜感激。
非常感谢,
负载均衡器设置
基础结构
我正在使用以下
InService
。当我访问负载均衡器DNS名称值时,我会看到我的React网站。负载平衡器侦听HTTP端口80。我添加了端口1234,但这无济于事注意: 请注意,该项目是学习AWS,React和NodeJ的项目,因此如果出现异常,请指出
EC2实例屏幕截图
安全组屏幕截图
负载均衡器屏幕截图
目标组屏幕截图
尝试注册目标组
答案 0 :(得分:0)
感谢您阐明了您的体系结构。
我现在将CloudFront排除在游戏之外,并确保您的设置仅适用于负载平衡器。当一切都正确配置后,您可以轻松添加Cloudfront作为下一步。通常,对于IT领域中的所有事物而言,构建一个可以运行的简单系统并一次增加一个步骤的复杂性要比调试无法运行的复杂系统要容易得多。
这个想法是要有一个带有two listeners的应用程序负载均衡器,一个用于Web(TCP 80),一个用于API(TCP 123)。 ALB将具有两个目标组(每个EC2实例上的每个端口一个),您将创建Listeners rules来将正确的端口转发到正确的target groups。请阅读“ Application Load Balancer components”以了解ALB的工作原理。
这是要检查的几件事
写完所有这些之后,我意识到您正在使用Classic Load Balancer。这也应该可以正常工作,只需确保您的EC2实例具有正确的安全组(两个规则,每个端口一个)