Как верно определить IP адрес посетителя при использовании проски-сервера NGINX.
В продолжении этой записи, возник вопрос о получении реального ip посетителя.
Всё оказалось куда проще: надо на сайте, который уже размещён за проксёй, заменить функцию
$_SERVER["REMOTE_ADDR"]
на:
<?php
echo $_SERVER['HTTP_X_FORWARDED_FOR'];
?>
Хотите добить скрипт всеми DLC? Пожалуйста:
<?php
$client = @$_SERVER['HTTP_CLIENT_IP'];
$forward = @$_SERVER['HTTP_X_FORWARDED_FOR'];
$remote = @$_SERVER['REMOTE_ADDR'];
if(filter_var($client, FILTER_VALIDATE_IP)) $ip = $client;
elseif(filter_var($forward, FILTER_VALIDATE_IP)) $ip = $forward;
else $ip = $remote;
echo $ip;
?>