如何使用 PHP 正确返回 EC2 实例中的公共服务器地址

如何使用 PHP 正确返回 EC2 实例中的公共服务器地址

我是 AWS 新手...我已经设置了一个 EC2 实例,它运行 Nginx 和 PHP 7.1.6,我还制作了一个返回phpinfo();详细信息的页面,但它返回的不是我的弹性 IP,而是内部 IP 地址:

$_SERVER['SERVER_ADDR'] 172.31.9.228

我的 EC2 已正确关联一个弹性 IP,并且尝试浏览网站,一切运行顺利。

有没有办法让 Nginx 返回公网 IP 而不是私网 IP?

答案1

EIP 未绑定到任何网络接口。

获取 EIP 的最简单方法是通过实例的元数据

$eip = file_get_contents('http://169.254.169.254/latest/meta-data/public-ipv4');

相关内容