我有一个负载均衡器和三个带Linux和Apache的EC2 Web服务器。每当我在PHP中使用$_SERVER['REMOTE_ADDR']
来获取网站访问者的IP地址时,它会向我显示错误的IP地址。当我检查Whois数据库中的IP时,我会找到它的保留IP。我猜它是AWS本身的另一台服务器的IP而不是客户端的IP。如何在EC2服务器中使用PHP获取正确的客户端IP?
答案 0 :(得分:3)
IP是本地Amazon IP,因为访问者无法直接连接到您的服务器。
通常,负载均衡器会将$_SERVER
数组中的真实客户端IP转发到新密钥下,大多数情况下$_SERVER['HTTP_X_FORWARDED_FOR']