简体   繁体   English

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

[英]get Client IP in Amazon EC2 / Nginx

I'm trying to get Client IP using Laravel 5.2 我正在尝试使用Laravel 5.2获取客户端IP

It is not sensitive information, so I don't really care about IP Spoofing. 它不是敏感信息,所以我真的不在乎IP欺骗。

I tried this kind of scripts in my Model: 我在模型中尝试了这种脚本:

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

But When I run php artisan migrate, I get error 但是当我运行php artisan migration时,出现错误

Undefined index: HTTP_X_FORWARDED_FOR  

or 要么

Undefined index: REMOTE_ADDR

But when I run: 但是当我跑步时:

<?php dd($_SERVER); ?>

I get 我懂了

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

I don't understand !!! 我不明白!

This is just because you running this in CLI (you use console to run migration). 这仅仅是因为您在CLI中运行了此命令(使用控制台来运行迁移)。

PHP in CLI mode has another $_SERVER and has not REMOTE_ADDR key. CLI模式下的PHP具有另一个$ _SERVER,并且没有REMOTE_ADDR密钥。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM