我有一个运行Sinatra应用程序的Elastic Beanstalk Docker容器。使用ebextensions,我在EC2盒子上运行了一个haproxy实例 - 它将流量从端口9090
转发到docker_ip:application_port
。设置工作正常,因为我能够在端口9090
上卷曲EC2框的IP并点击我的应用程序的端点(我也能看到haproxy日志)
现在,我已在Elastic loadbalancer上设置了一个额外的tcp侦听器,以将端口9090转发到端口9090(默认端口80 - >端口80)。但是,当我尝试访问domain_name:9090
时,它会超时。如果我只是访问domain_name
它就可以了。关于我如何调试负载均衡器监听器无法按预期工作的任何想法。
请注意,ELB可见性设置为公开。
因此,我打开了负载均衡器的日志记录并直接访问了它的DNS名称。它记录了发送到端口80的请求,但没有记录发送到端口9090的请求。
另一个更新 - 我在端口9090上的ec2框上运行了一个tcpdump。它没有捕获我运行的任何数据包load_balancer_domain:9090
已解决 - 我必须编辑负载均衡器上的安全组规则,以允许实例的端口9090上的出站流量。