Как получить реальный ip посетителя, если наше приложение находится за обратным прокси? - PullRequest
0 голосов
/ 06 февраля 2020

Я использую nginx динамический c кеш-сервер Siteground на основе обратного прокси-сервера, который обслуживает запросы и файл c, используя его, я хочу получить IP-адрес посетителя, но я не могу получить ничего, даже ничего показывается пока print_r($_SERVER).

Вот что я попробовал.

$hostname = gethostbyaddr(trim($_SERVER['HTTP_X_REAL_IP']));
$hostname = gethostbyaddr(trim($_SERVER['REMOTE_ADDR']));

Если кто-то может помочь?

1 Ответ

1 голос
/ 06 февраля 2020

Необходимо настроить конфигурации на обратном прокси-сервере, чтобы пересылать реальный IP-адрес на ваш веб-сервер.

Например, используя Nginx, вы можете установить заголовки следующим образом:

proxy_set_header    X-Forwarded-Proto   $scheme;
proxy_set_header    X-Real-IP       $remote_addr;
proxy_set_header    X-Forwarded-For     $proxy_add_x_forwarded_for;
proxy_set_header    Host            $http_host;

Здесь X-Real-IP предоставит вам реальный IP-адрес вашего внутреннего сервера.
Вы должны обратиться к документации используемого вами программного обеспечения для обратного прокси (apache, nginx, et c ..) для получения дополнительной информации.

...