Amazon EC2 Web服务器在PHP中显示不正确的客户端IP

时间:2016-05-11 06:45:47

标签: php amazon-web-services amazon-ec2 ip

我有一个负载均衡器和三个带Linux和Apache的EC2 Web服务器。每当我在PHP中使用$_SERVER['REMOTE_ADDR']来获取网站访问者的IP地址时,它会向我显示错误的IP地址。当我检查Whois数据库中的IP时,我会找到它的保留IP。我猜它是AWS本身的另一台服务器的IP而不是客户端的IP。如何在EC2服务器中使用PHP获取正确的客户端IP?

1 个答案:

答案 0 :(得分:3)

IP是本地Amazon IP,因为访问者无法直接连接到您的服务器。

通常,负载均衡器会将$_SERVER数组中的真实客户端IP转发到新密钥下,大多数情况下$_SERVER['HTTP_X_FORWARDED_FOR']