Я запускаю приложение laravel на AWS Elasticbeanstalk, я использую Application Load Balancer.
Route::get('/what-is-my-ip', function(){
return request()->ip();
});
Когда я запускаю этот код, мой ip не отображается, он показывает ip-адреса балансировщика нагрузки .
Те, кто использовал ту же проблему с cloudflare, также испытали и имеют решения для cloudflare, но я не смог найти решение для AWS Application Load Balancer.
У меня проблемы получение IP-адресов пользователей и добавление --allow-ip в режиме обслуживания.
function real_IP() {
$real_IP = '';
if (getenv('HTTP_CLIENT_IP'))
$real_IP = getenv('HTTP_CLIENT_IP');
else if(getenv('HTTP_X_FORWARDED_FOR'))
$real_IP = getenv('HTTP_X_FORWARDED_FOR');
else if(getenv('HTTP_X_FORWARDED'))
$real_IP = getenv('HTTP_X_FORWARDED');
else if(getenv('HTTP_FORWARDED_FOR'))
$real_IP = getenv('HTTP_FORWARDED_FOR');
else if(getenv('HTTP_FORWARDED'))
$real_IP = getenv('HTTP_FORWARDED');
else if(getenv('REMOTE_ADDR'))
$real_IP = getenv('REMOTE_ADDR');
else
$real_IP = 'UNKNOWN';
return $real_IP;
}
, когда я запускаю этот код, он дает правильный IP-адрес, я хочу исправить его через laravel.