我有一个运行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上的出站流量.
最佳答案 启用ELB
Access Logs并向AWS生成的ELB DNS名称发送请求.检查ELB在S3存储桶中创建的日志文件.