在Amazon EC2 / Nginx中获取客户端IP

时间:2016-02-13 05:16:41

标签: php nginx amazon-ec2

我正在尝试使用Laravel 5.2获取客户端IP

这不是敏感信息,所以我并不关心IP欺骗。

我在我的模型中尝试过这种脚本:

if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && $_SERVER['HTTP_X_FORWARDED_FOR']) {
    $clientIpAddress = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
    $clientIpAddress = $_SERVER['REMOTE_ADDR'];
}

但是当我运行php artisan migrate时,我收到错误

Undefined index: HTTP_X_FORWARDED_FOR  

Undefined index: REMOTE_ADDR

但是当我跑步时:

<?php dd($_SERVER); ?>

我得到了

"SERVER_ADDR" => "10.0.1.194"
"REMOTE_PORT" => "38151"
"REMOTE_ADDR" => "201.141.124.254"

我不明白!!!

1 个答案:

答案 0 :(得分:0)

这只是因为您在CLI中运行它(使用控制台来运行迁移)。

CLI模式下的PHP有另一个$ _SERVER且没有REMOTE_ADDR键。