【问题标题】:Amazon EC2 web server shows an incorrect client IP in PHPAmazon EC2 Web 服务器在 PHP 中显示不正确的客户端 IP
【发布时间】:2016-09-06 09:40:42
【问题描述】:

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

【问题讨论】:

  • 这可能是负载均衡器的IP...您是否查看了$_SERVER 数组的其余部分,负载均衡器是否在单独的标头字段中转发客户端的IP?
  • 是的,我意识到负载均衡器在$_SERVER['HTTP_X_FORWARDED_FOR']键下转发IP

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


【解决方案1】:

该 IP 是本地亚马逊 IP,因为访问者不会直接连接到您的服务器。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-27
    • 2012-09-10
    • 2021-10-10
    • 2011-07-15
    • 2018-12-03
    • 2017-01-07
    • 2019-02-13
    相关资源
    最近更新 更多