弹性负载均衡器侦听器不适用于一个端口

Har*_*ari 5 load-balancing amazon-ec2 amazon-web-services amazon-elastic-beanstalk

我有一个运行 Sinatra 应用程序的 Elastic Beanstalk Docker 容器。使用 ebextensions,我有一个在 EC2 盒子上运行的 haproxy 实例 - 将流量从端口转发9090docker_ip:application_port. 设置工作正常,因为我能够在端口上卷曲 EC2 盒的 IP9090并访问我的应用程序的端点(我还能够看到 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 上的出站流量。

gbo*_*oda 2

启用 ELB访问日志并向 AWS 生成的 ELB DNS 名称发送请求。检查 ELB 在 S3 存储桶中创建的日志文件。

  • 检查ELB的安全组和VPC的NACL,确保TCP 9090没有被阻塞。[链接](http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/elb-security-groups.html) (3认同)