У всех пользователей одинаковый IP адрес

Автор maximan1981, 14 августа 2016, 19:01:23

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

maximan1981

Проблема известная.

ЦитироватьУ всех пользователей одинаковый IP адрес

При реализации балансировки веб серверов с использованием реверсного прокси (это может быть Nginx, Apache с mod_proxy, Pound или что-то еще) в логах форума все пользователи будут иметь иметь одинаковый IP адрес (внешний адрес реверсного прокси).
Чтобы избавится от этого, нужно установить и настроить для Apache модуль mod_rpaf. Он способен в принятых запросах подменять заголовки, а именно подменять адрес прокси на адрес переданный в заголовке X-Forwarded-For.
Если у вас не выделенный сервер, а хостинг, обращайтесь с этим вопросом к своему хостеру.

Обратился, но саппорт хостинг-провайдера пишет:

ЦитироватьСообщите в поддержку скрипта о том, как Вам использовать HTTP_X_REAL_IP вместо текущего.

Что мне делать, целый день саппорт "висит"... и отсылает меня ожидать чего-то  :facepalm:

kak2z

Цитата: maximan1981 от 14 августа 2016, 19:01:23Проблема известная.

Обратился, но саппорт хостинг-провайдера пишет:

Что мне делать, целый день саппорт "висит"... и отсылает меня ожидать чего-то  :facepalm:
странный хостинг... может его поменять проще чем скрипт менять?
Если нужно что то исправить, обновить, переставить, настроить, сделать форум заново - пишите в ЛС)

maximan1981

Прописал в файле index.php:

$_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_REAL_IP'];
unset($_SERVER['HTTP_X_REAL_IP']);

IP начали определяться нормально.
Это решение не кривое?

kak2z

Цитата: maximan1981 от 14 августа 2016, 19:21:05Прописал в файле index.php:

$_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_REAL_IP'];
unset($_SERVER['HTTP_X_REAL_IP']);

IP начали определяться нормально.
Это решение не кривое?
вроде бы тут REMOTE_ADDR должен быть промежуточный адрес, какого то там прокси или роутера....
а тут HTTP_X_REAL_IP реальный..
но это не на 100 процентов)) это в саппорте подсказали??
Если нужно что то исправить, обновить, переставить, настроить, сделать форум заново - пишите в ЛС)

maximan1981

Цитата: kak2z от 14 августа 2016, 19:39:41вроде бы тут REMOTE_ADDR должен быть промежуточный адрес, какого то там прокси или роутера....
а тут HTTP_X_REAL_IP реальный..
но это не на 100 процентов)) это в саппорте подсказали??
Это я сам + западный форум...  ::) IP определяются корректно.

kak2z

Цитата: maximan1981 от 14 августа 2016, 19:48:17Это я сам + западный форум...  ::) IP определяются корректно.
интересное решение)) хотелось бы все таки услышать комментарии тех кто знает всю эту серверную механику более глубоко.. чем такой костыль грозит и можно ли так делать)) хотя если работает значит можно)
Если нужно что то исправить, обновить, переставить, настроить, сделать форум заново - пишите в ЛС)

digger®

То, чему можно доверять лежит только в $_SERVER['REMOTE_ADDR']. Все остальное - это дополнительные http заголовки в которых может быть что угодно, и в которые при желании можно записать что угодно.
Хостер, у которого не работает $_SERVER['REMOTE_ADDR'] - это не правильный хостер.

maximan1981