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

我是新的AWS …我已经build立了一个EC2实例运行Nginx和PHP 7.1.6我也做了一个页面,返回phpinfo(); 细节,但它返回不是我的弹性IP,但内部IP地址:

 $_SERVER['SERVER_ADDR'] 172.31.9.228 

我的EC2已经正确地关联了一个弹性的IP,同时也试图浏览网站的一切运行平稳。

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

EIP不绑定到任何networking接口。

获取EIP最简单的方法是通过实例的metedata 。

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