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