【发布时间】:2019-08-11 13:53:41
【问题描述】:
我正在弹性 beantalk 中运行应用程序负载均衡器。我有一个运行 php 和 apache 的 ec2 实例。如果我去http://example.com 我会得到这个网站。我已经在同一台机器上使用 node 和 socket.io 配置了一个套接字服务器。 (这是使用 .ebextensions 和 pm2 安装和守护的)。套接字守护程序正在端口 8000 上运行。
我在 eb 负载均衡器配置中为端口 8000 添加了 listener。这辆汽车用listener port 8000 创建了一个rule
问题是当我转到http://example.com:8000 时,我得到了网页的响应,就像我转到http://www.example.com 一样
我可以停止套接字守护程序并仍然加载与网站响应的http://example.com:8000。负载均衡器似乎正在侦听端口 8000,但将其路由到 ec2 实例端口 80
我希望端口 8000 上的传入请求被转发到应该运行我的套接字服务器的 ec2 实例端口 8000,但这不会发生。
这是负载均衡器的日志输出
http 2019-03-20T19:09:59.541171Z app/awseb-AWSEB-9GXN3SC7L5SW/e13ff49d239ea88e
184.xx.xxx.xxx:58786 172.xx.xx.197:80 0.000 0.008 0.000 404 404 520 32879
"GET http://www.example.com:8000/?EIO=3&transport=polling&t=McSWbag HTTP/1.1" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36" - - arn:aws:elasticloadbalancing:us-east-2:xxxxxxxx:targetgroup/awseb-AWSEB-xxxxxx/xxxxxxx "Root=1-xxxxx-xxxxxxxx" "-" "-" 0 2019-03-20T19:09:59.532000Z "forward" "-" "-"
我不确定日志是如何读取的,但在第二行我注意到:172.xx.xx.197:80 这是我的 ec2 实例的私有 ip,它显示端口 80
【问题讨论】:
标签: amazon-web-services amazon-ec2 amazon-elastic-beanstalk