PHP - Amazon Elastic Beanstalk - 获取私有 IP 地址

PHP - Amazon Elastic Beanstalk - Get private IP address

我在 Amazon Elastic Beanstalk (EB) 中托管一个 Web 应用程序。 Web 应用程序是用 php 编写的。 EB 还使用弹性负载均衡器 (ELB)。 Web 应用程序与客户端实现一个 websocket。 这是我到目前为止所做的:

  1. 我知道我必须监听私有 ip,而不是实例的 127.0.0.1 才能工作
  2. 在负载均衡器中实现了一个侦听器以连接到实例端口
  3. 为安全组中的端口打开了入站和出站流量。

如果EB部署进行横向扩展(增加实例数),扩展后实例的私有ip是否保持不变(请解释)?如果没有,我相信是这样,我如何获得为客户端服务的当前实例的私有 IP 地址?

到目前为止,它运行完美,没有任何问题,但只有一个实例 运行。我尝试列出客户端,我可以通过列表获取私有 ips,但我不知道如何识别当前为文件提供服务的实例。

请帮帮我。

这样做就可以了:

<?php $ip = shell_exec('hostname -i'); ?>

重要提示: 这仅适用于 linux 环境。对于 windows,hostname -i 无效。你可以参考https://superuser.com/questions/382265/进一步的想法。