?
在尝试通过HTTPS协议运行AWS EC2上托管的API时遇到问题。
该API在没有的情况下正常运行,但是,尝试进行配置(按照建议的步骤)后,我收到了 502 Bad Gateway 消息。>
这是我的配置:
以前的网址
http://ec2-ip-address.zone.compute.amazonaws.com:3000/api/
现在
https://api.mydomain.com:443/api/{resourceName}
请,如果我错过了让我知道的东西,我将对如何正确设置的任何见解表示感谢。
答案 0 :(得分:0)
因此,在@Marcin(请参阅我的问题的评论)和其他人(Reddit论坛)的帮助下,我能够使其正常工作。
问题是ELB无法通过3000端口与我的EC2实例通信,因为该端口未在我的安全组中配置。
您需要使用HTTP:80和HTTPS:443创建ALB(应用程序负载平衡器)和SG,然后选择您的实例,并将其设置为通过端口3000(或您的EC2正在运行的任何端口)与之通信)。
您应该有两个安全组,一个安全组分配给EC2实例,一个安全组分配给ELB。 EC2安全组应允许来自端口3000的ELB sg的访问。ELBsg应允许端口80和443的全球访问。 ELB不应侦听端口3000(面向世界),而应将内部端口设置为3000。如果一切正常,则应该能够在ELB控制台中将EC2实例视为“正常”。
此外,在运行状况检查中,不要忘记将其设置为侦听实际返回内容的终结点,例如200 OK状态代码,否则,AWS ELB将假定与EC2实例没有连接。